我在哪里可以找到标准库标题中声明的常量列表

时间:2017-08-24 17:00:58

标签: c++ linux enums constants libstdc++

我正在编写一些序列化代码,而且很明显,这段代码需要知道结果应该是大端还是小端,所以我尝试声明这样的枚举:

namespace TerrainGenerator
{
    ...
    enum Endianess {LITTLE_ENDIAN, BIG_ENDIAN};
    ...
}

但出于某种原因,我的IntelliSense告诉我这些值已经宣布。

运行g ++也给了我错误,告诉我他们被定义为1234和4321(分别为小端和大端)。

当我停止包括<string>时,我注意到错误消失了。

在某处我可以找到已在std中声明的常量列表。库?

我正在运行Arch Linux,内核4.12.8-2-ARCH。

正在运行strings /usr/lib/libstdc++.so.6 | grep LIBCXX会返回一堆行,最高版本号为GLIBCXX_3.4.24

运行ldconfig -p | grep stdc++会返回:

libstdc++.so.6 (libc6,x86-64) => /usr/lib/libstdc++.so.6
libstdc++.so (libc6,x86-64) => /usr/lib/libstdc++.so

(由https://stackoverflow.com/a/10355215/6242052建议找到我正在使用的std.libs的版本)

编辑:如果这些值为#defined,则在1-10的范围内,在包含所有标题后,对#undef它们的想法有多糟糕? (并且可能在我的代码之后重新#define -

0 个答案:

没有答案