首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >std::move in boost库

std::move in boost库
EN

Stack Overflow用户
提问于 2016-08-04 07:57:45
回答 2查看 2.7K关注 0票数 11

我试图在代码中使用std::move,但是我使用的编译器(g++ 4.4)不支持它。boost::move能完全替代std::move吗?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-04 08:02:33

std::move (以及启用c++0x支持时的boost::move )只是从T&T&&的转换。它实际上不会动任何东西。这意味着编译器必须支持特定类型的指针T&&。GCC支持4.3版本以来的r值引用,所以boost版本应该可以.

但是,您不能使用来自std::move#include <utility>是否有原因?

http://en.cppreference.com/w/cpp/utility/move

您只需要确保指定-std=c++0x作为编译器选项,以便启用gcc 4.4所提供的有限c++11支持。

票数 11
EN

Stack Overflow用户

发布于 2016-08-04 08:03:27

是的,可以

Boost.Move是什么? Rvalue引用是一个主要的C++0x特性,支持C++值的移动语义。然而,我们不需要C++0x编译器来利用移动语义。Boost.Move在C++03编译器中模拟C++0x移动语义,并允许编写在C++03和C++0x编译器中最佳工作的可移植代码。

来源:b1/doc/html/move.html

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38761626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档