gpt4 book ai didi

c++ - 在函数调用中调用 sizeof 会跳过实际调用函数!}

转载 作者:太空宇宙 更新时间:2023-11-04 12:39:07 25 4
gpt4 key购买 nike

我偶然发现了这段代码。

int x(int a){
std::cout<<a<<std::endl;
return a + 1;
}

int main()
{
std::cout<<sizeof(x(20))<<std::endl;
return 0;
}

我预计它会在 4 之后打印 20。但它只打印 4。为什么会这样?优化具有副作用(打印到 IO/文件等)的函数不是不正确吗?

最佳答案

sizeof 是编译时运算符,永远不会计算操作数。

关于c++ - 在函数调用中调用 sizeof 会跳过实际调用函数!},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55122522/

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