移动与其他Boost库的集成 R值引用通常会增强C++程序的性能。但是它们不能直接在C++03编译器中使用。幸运的是,boost::move似乎能够在C++03中模拟它:

移动与其他Boost库的集成 R值引用通常会增强C++程序的性能。但是它们不能直接在C++03编译器中使用。幸运的是,boost::move似乎能够在C++03中模拟它:,c++,boost,rvalue-reference,C++,Boost,Rvalue Reference,右值引用是C++0x的一个主要特性,支持移动语义 对于C++值。但是,我们不需要C++0x编译器 移动语义的优点。Move模拟C++0x移动语义 在C++03编译器中,并允许编写可移植代码 在C++03和C++0x编译器中进行优化 像用C++98/03编写的标准库这样的东西不会从boost::move中受益,因为它们需要重新编写。(VC10等标准库的新版本已使用右值引用重新编写。) 但是我想知道自从1.48中引入Boost::move以来,有多少Boost库被重新编写了?通过查看,我看到无序的在

右值引用是C++0x的一个主要特性,支持移动语义 对于C++值。但是,我们不需要C++0x编译器 移动语义的优点。Move模拟C++0x移动语义 在C++03编译器中,并允许编写可移植代码 在C++03和C++0x编译器中进行优化

像用C++98/03编写的标准库这样的东西不会从
boost::move
中受益,因为它们需要重新编写。(VC10等标准库的新版本已使用右值引用重新编写。)


但是我想知道自从1.48中引入
Boost::move
以来,有多少Boost库被重新编写了?

通过查看,我看到无序的在1.48中更新,而线程在1.50中更新。我看不到任何其他采用Boost.Move的人。

我刚刚检查了Boost 1.51.0,似乎以下库支持
Boost::Move

  • 容器(包括
    向量
    列表
    地图
    等)
  • 进程间(包括
    smart\u ptr
    unique\u ptr
  • 侵入的
  • 线
  • 无序

只需在BOOST标题中搜索
BOOST\u RV\u REF
,这是
BOOST::move
支持的标志。

谢谢。您是否知道有任何报告说,由于C++ 11中的改写,VC11/VC10版本的STL效率有了多少提高?