mar*_*ark 12 c++ boost rvalue-reference move-semantics c++11
Rvalue引用和Move语义是一个主要的C++ 11特性,它可以通过减少不必要的副本来显着加速代码.当使用c ++ 11/0x编译器时(例如gcc 4.6),STL已更新为使用此新功能
Boost 1.48引入了一个新的库,以便在旧的C++ 03编译器上模拟移动语义.这个库通过引入宏来扩展为真正的右值引用,当使用C++ 11编译器编译代码或使用C++ 03编译器编译代码时模拟rvalue引用.
除了boost::container更新任何其他的boost库以利用移动语义之外呢?
是否有一个路线图详细说明何时/如果将移动语义添加到其他boost库?
boost::multi_index_container已经提到在Boost.MultiIndex Future工作中添加了移动语义
,因为它是在1.31版本中引入的.
正如你在问题中所说,引入boost::move了1.48 ,一个用C++ 03模拟移动语义的库.这是由Ion Gaztanaga开发的,他也(大部分)写作并且目前正在维护boost::intrusive和boost::container.
侵入式和容器式支持都会移动语义 - 实际上boost::intrusive必须支持移动语义boost::container,因为boost::container基本上是一堆非侵入式容器通过包装它们的boost::intrusive对应物来实现.在我看来,侵入/容器是写作的动力boost::move,所以他们在其余的提升方面有一个良好的开端也就不足为奇了.
但值得注意的是,没有提升路线图或委员会 - 提升只是一个共享分发,网站和审查/质量控制流程的图书馆集合.您必须将每个库视为一个单独的项目,只有在作者/维护者有兴趣完成工作时(或者当您向他们发送补丁时),才会更新这些项目.
增强1.48/1.49/1.50/1.51/1.52发行说明是寻找可靠答案的最佳位置:
#define在C++ 03中启用了仿真)| 归档时间: |
|
| 查看次数: |
1445 次 |
| 最近记录: |