【发布时间】:2016-04-19 18:35:27
【问题描述】:
isocpp.org 声明:
基于移动的 std::sort() 和 std::set::insert() 已被测量为 如果您的类型有移动,则比基于副本的版本快 15 倍[...] 操作时,您会自动从 标准算法。
这是否意味着如果您在没有移动构造函数或移动赋值运算符的用户定义类型上调用sort(),那么就没有使用移动语义?换句话说,要获得 C++11 性能改进的诸多好处,您应该编辑现有代码以显式添加移动操作吗?
此外,如果您正在排序,是容器还是容器内的类型,或两者都必须定义移动操作?
【问题讨论】:
-
^^ 如果您不提供任何用户定义的构造函数,您将从默认生成的内容中受益。否则
= default关键字可能会让您的生活变得轻松。
标签: c++ sorting c++11 move-semantics