微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – std :: map :: emplace()缺失 – 过时的库?

我正在尝试使用地图的C 11 emplace()函数,但NetBeans说地图没有这样的功能.看看标题,它是“正确的” – 没有提到(在Fedora 16上)的emplace().哪个都很好,你知道……但我有点想使用emplace().

如何启用此功能?我知道它自去年3月以来可能存在,可能更早.彻底的搜索显示,emplace()基本上只存在于我的系统中的列表和向量的标题中.由于近十年来没有对C进行过重大修改,如果图书馆“错误”,我没有找到关于该怎么做的文件.

解决方法

如果您的实现不支持某些内容,您有两种选择:

>不要使用此功能
>使用另一种支持您需要的实现.

存在新标准的事实并未扩大选择范围.实际上,它会减少它,因为您在寻找支持每个目标所需的所有内容的实现时会遇到额外的困难.

请注意,对于纯库事物,其他实现可能是您所做的:兼容性包装器在转换时间中具有增加的外观.但是你必须注意名称冲突效果(当功能出现在标准位置时,兼容性包装器的可见性可能会给代码增加歧义).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐