__cplusplus包含和扩展到什么?__cplusplus即使在最旧的C++实现中,宏总是包含并扩展为数值吗?#if __cplusplus
还是我们应该使用而不是那样#ifdef __cplusplus?是的,它总是扩展到数值,它的含义是正在使用的C++标准的版本.根据cppreference 页面,__cplusplus宏应扩展为:
- 199711L(直到C++ 11),
- 201103L(C++ 11),
- 201402L(C++ 14),
- 201703L(C++ 17)
#if和#ifdef指令之间的区别在于#ifdef应该用于检查是否已定义给定宏以允许编译一段代码.
在另一方面#if(#else,#elif)指令可以用来检查指定的条件是否满足(就像典型的,如果条件).
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |