Rvalue引用是c ++ 11中最好的功能之一,但我们的旧编译器不支持这个美丽的生物。经过一番研究,创造了一个可移动的" unique_ptr"在boost :: move的帮助下并不太难,更好的消息是boost :: container也可以与boost :: move一起使用。
我的问题是,是否有可能使像std :: swap_range或std :: sort这样的算法受益于boost :: move?或者我必须为自己写一个?
答案 0 :(得分:3)
在pre-C ++ 11 std::sort
内部使用swap
,所以只要你为你的类适当地定义swap
(不要忘记ADL),就应该使用它而不是复制每个对象
移动语义在这里没有任何重要意义。