std :: map :: emplace()缺失
我正在尝试使用地图的C ++ 11 emplace()函数,但NetBeans说地图没有这样的功能。 看看头文件,这是“正确的” - 没有提到(在Fedora 16上)emplace()。 这是一切都很好,你知道...但我有点想使用emplace()。
我如何去启用这个功能? 我知道自从去年3月以来它已经存在,可能更早。 彻底的搜索表明,emplace()基本上只存在于我的系统中的列表和向量的标题中。 由于近十年来对C ++的重大修改,我没有找到有关如果库“错误”应该怎么做的文档。
如果你的实现不支持某些东西,你有两个选择:
有一个新标准的事实并没有扩大选择范围。 实际上,它会减少它,因为在寻找一个支持所有目标实现的实现方面会遇到更多困难。
请注意,对于纯库的情况,其他实现可能是您所做的:兼容性包装在转换时间中具有增加的外观。 但是您必须注意名称冲突效应(当功能出现在其标准位置时,兼容性包装的可见性可能会给代码添加歧义)。
GCC 4.7不支持这一点,因为当时标准存在未解决的问题。 它在4.8和更高版本中实现。 你将需要-std = c ++ 11
链接地址: http://www.djcxy.com/p/10375.html