我在系统的标准C++库以及我正在使用的库中的一些头文件中看到了这一点。

这两个定义的语义是什么?除了源代码本身之外,对于这样的#define,是否有很好的引用?

最佳答案

__STDC_LIMIT_MACROS__STDC_CONSTANT_MACROS是一种变通办法,它允许C++程序使用C99标准中指定的stdint.h宏,而这些宏不在C++标准中。诸如UINT8_MAXINT64_MININT32_C()之类的宏可能已在C++应用程序中以其他方式定义。为了允许用户决定是否要像C99那样定义宏,许多实现要求在包含__STDC_LIMIT_MACROS之前先定义__STDC_CONSTANT_MACROSstdint.h

这不是C++标准的一部分,但已被多个实现所采用。

关于c++ - __STDC_LIMIT_MACROS和__STDC_CONSTANT_MACROS是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/986426/

10-11 16:18