gpt4 book ai didi

c++ - 什么时候在 `std::move()` 函数中调用 move 构造函数?

转载 作者:IT老高 更新时间:2023-10-28 23:00:43 26 4
gpt4 key购买 nike

函数std::move()定义为

template<typename T>
typename std::remove_reference<T>::type&& move(T && t)
{
return static_cast<typename std::remove_reference<T>::type&&>( t );
}

我可以想象要调用 move 构造函数的四个地方:

  1. 参数传递时。
  2. 执行类型转换时。
  3. 返回结果时。
  4. 不在 std::move() 函数本身,但可能在返回的引用最终到达的地方。

我会赌 4 号,但我不能 100% 确定,所以请解释一下你的答案。

最佳答案

没有进行 move 构建。 std::move() 接受一个引用并返回一个引用。 std::move() 基本上只是一个类型转换。

您的猜测 4. 是正确的(假设您实际上最终调用了 move 构造函数)。

关于c++ - 什么时候在 `std::move()` 函数中调用 move 构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14749587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com