C++ 在c++;0x
我很高兴看到map::at()被添加到c++11中,但仔细研究后,我发现它已经在gcc库中定义,并且可以与-std=c++0x和c++98一起使用C++ 在c++;0x,c++,stl,C++,Stl,我很高兴看到map::at()被添加到c++11中,但仔细研究后,我发现它已经在gcc库中定义,并且可以与-std=c++0x和c++98一起使用 对于使用c++0x之前的标准编译的代码,是否使用此方法被认为是可移植的?我认为您误解了-std=c++0x的含义。发件人: “c++11” “c++0x” 2011个ISO C++标准加修订。对C++11的支持仍处于试验阶段,将来可能会以不兼容的方式发生变化 释放。已弃用名称“c++0x” 正如你所看到的,c++0x和c++11是等价的,而c++0
对于使用c++0x之前的标准编译的代码,是否使用此方法被认为是可移植的?我认为您误解了
-std=c++0x
的含义。发件人:
“c++11”
“c++0x”
2011个ISO C++标准加修订。对C++11的支持仍处于试验阶段,将来可能会以不兼容的方式发生变化 释放。已弃用名称“c++0x”
正如你所看到的,
c++0x
和c++11
是等价的,而c++0x
是不推荐的。它是c++11标准的一部分,所以是的,任何支持c++11的实现都应该支持它。@JesseGood:OP提到了-std=c++0x
。这是否等同于-std=c++11
?是的,它们是等效的,尽管-std=c++0x
因-std=c++11
@AndrewP而不推荐使用-std=c++0x>:问题标题是“c++0x之前的版本”,但您指定的是-std=c++0x
。哪一个?它当然不是指“c++0x之前的版本”@AndrewP:它在libstc++中已经存在了一段时间,但不能保证它存在于其他c++98库中(例如,微软在MSVC2010中实现了它)。