我试图std::move
在我的代码中使用,但我使用的编译器(g ++ 4.4)不支持它.可以完全boost::move
替代std::move
吗?谢谢.
Vic*_*avu 11
std::move
(boost::move
当启用c ++ 0x支持时)只是一个强制转换T&
为T&&
.它实际上并没有移动任何东西.这意味着T&&
编译器必须支持特定类型的指针.从版本4.3开始,GCC支持r值引用,因此boost版本应该没问题.
然而,有没有你不能使用的原因std::move
,从#include <utility>
?
http://en.cppreference.com/w/cpp/utility/move
您只需确保指定-std=c++0x
为编译器选项,以便启用gcc 4.4具有的有限c ++ 11支持.
是的,它可以
什么是Boost.Move?
Rvalue引用是一个主要的C++ 0x特性,支持C++值的移动语义.但是,我们不需要C++ 0x编译器来利用移动语义.Boost.Move在C++ 03编译器中模拟C++ 0x移动语义,并允许编写在C++ 03和C++ 0x编译器中最佳工作的可移植代码.
资料来源:http: //www.boost.org/doc/libs/1_59_0_b1/doc/html/move.html
归档时间: |
|
查看次数: |
1928 次 |
最近记录: |