我很高兴看到 map::at() 被添加到 c++11,但是在挖掘之后,我发现它已经在 gcc 库中定义,并且可以与 -std=c++0x和c++98一起使用.
是否将此方法用于在 c++0x 被认为可移植之前使用标准编译的代码?
我认为你误解了什么-std=c++0x
意思。从C 方言选项:
'c++11'
'c++0x'
2011 ISO C++ 标准加上修正案。对 C++11 的支持仍处于试验阶段,在未来的版本中可能会以不兼容的方式发生变化。不推荐使用名称“c++0x”。
如您所见c++0x
, andc++11
是等效的并且c++0x
已被弃用。