![](/img/trans.png)
[英]Are there any performance differences between std::copy and the container's copy constructor?
[英]Differences between `boost::any` and `std::any`
C ++ 17引入了对象容器std::any
,基于boost库boost::any
。 我的问题是:标准化any
与升级版本相同,还是存在差异?
关于variant
已经发布了一个类似的问题 ,在这种情况下存在一些差异,但我找不到any
关于variant
参考。
编辑:我能看到的区别是方法的可用性emplace
。 不仅仅是API的差异我对行为和保证之间的差异感兴趣。 例如,不同的分配对我来说意义重大。
我对行为和保证之间的差异感兴趣。
没有任何行为差异; 并不是的。 它们对ValueType具有相同的要求(可复制构造,并且不会发出异常的析构函数)。 它们都对它们存储的值提供相同的操作,具有几乎相同的异常保证。
主要区别在于boost::any
的实现目前没有实现小对象优化,而std::any
实现可能提供它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.