c++ - 重新分配给映射变量时是否自动使用移动?

标签 c++ c++11

假设我为 sort 实现了一个新接口(interface)

vector<int> sort(vector<int> in){
  //sorting logic
}

然后像这样使用它

vector<int> some_integers = {2, 1, 3};
some_integers = sort(some_integers);

编译器会自动移动some_integers吗?还是会复制?

最佳答案

赋值被移动(因为函数返回纯右值),参数被复制(因为它是左值)。

关于c++ - 重新分配给映射变量时是否自动使用移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43004869/

相关文章:

c++ - 标准授权 enable_shared_from_this 是否公开继承?为什么?

c++ - 进程间内存编辑-查找更改的地址

c++ - 二维数组及其在 C++ 中的性能

c++ - 为什么我的 Active Directory 密码过滤器 DLL 中的用户名以 $ 结尾?

c++ - 有任何 "big name entity"发布的 C++0x 语法最佳实践

c++ - std::reference_wrapper 何时转换为 T&?

c++ - 警告 : zero as null pointer constant while comparing iterators

c++ - 在类的无序映射中使用滚动累加器

c++ - 函数静态变量析构函数和线程

c++ - std::this_thread::get_id() 与传递 ID