惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
博客园 - 司徒正美
Last Week in AI
Last Week in AI
博客园 - 聂微东
Jina AI
Jina AI
月光博客
月光博客
爱范儿
爱范儿
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
T
Tailwind CSS Blog
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队
罗磊的独立博客
小众软件
小众软件
雷峰网
雷峰网
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog

博客园 - 松山居士

部署Hermes-Agent和SenseNova-Skills ubuntu用root账户启动服务指定脚本 WSL迁移OpenEuler虚拟机 采用Ollama本地布署DeepSeekCoderV2 Loongnix Server 23.2安装Docker及常用镜像 Ollama导出和导入DeepSeek预训练大模型 Win10上模拟LoongArch虚拟机安装Deepin系统 查看exe启动命令和参数 Visual Studio C++设置EXE和DLL在不同路径 JMeter做WEB和API自动化测试 PG数据库常用DDL VSCode+XMake开发环境搭建备忘 C++库管理Conan使用备忘 Python多版本管理Anaconda备忘 Win10上模拟LoongArch虚拟机并搭建Qt5开发环境 解决向日葵无人值守自启动的权限问题 强制去掉Qt的运行环境信息 QGIS插件开发备忘 Linux shell 实用命令备忘 WIN10配置FX DocuCentre-IV C2260 PCL6打印机 VMWare虚拟磁盘整理与收缩 解决Deepin安装Flatpak程序时不能创建临时文件的错误
解决启用C++17后byte重定义的问题(byte ambiguous )
松山居士 · 2022-02-22 · via 博客园 - 松山居士

在C++ 17的cstddef文件中引入了 一种std::byte类型,在部分项目升级时往往会与系统中的byte定义冲突,导致编译失败。

但std::byte类型是在std命名空间下,根本的问题在于using namespace滥用,所以需要比以往更加注意以下语句的用法:

using namespace std;

(1)总体原则是该语句不要出现在系统头文件之前;

(2)最安全的方法是:编写健壮的工业级代码从弃用using namespace语句开始;

(2)较安全的方法是:该语句只出现在cpp文件中,h文件中使用std::前缀;

(4)谨慎采用方法是:在h文件不存在其它h文件引用的情况下,可以在h文件所有的#include语句后面使用该语句。

注:如使用者能熟练掌握第(1)条,则不必管(2)(3)(4)条。

如果是在项目代码中存在byte重定义问题而非SDK本身代码中存在冲突,在自己项目代码中明确指定byte定义的命名空间即可。