gpt4 book ai didi

c++ - std::move 和 static_cast 不同的结果

转载 作者:太空狗 更新时间:2023-10-29 20:04:28 28 4
gpt4 key购买 nike

<分区>

哦,我在右值引用理解中发现了一个问题。问题:

int&& foo()
{
int n = 5;
return std::move(n);
}

int bar()
{
int y = 10;
return y;
}

int main()
{
int&& p = foo();
bar();
std::cout << p;
}

编译器不会写入我们从函数 foo 返回本地地址的错误或警告。我将在功能栏中将值 5 替换为 10。但结果是5。如果我将 std::move 更改为 static_cast 编译器会给出错误并且结果为 10。为什么会这样?我使用 gcc 4.8.1。

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