gpt4 book ai didi

c++ - c++ 编译器是否优化 0*x?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:17:00 24 4
gpt4 key购买 nike

c++ 编译器会优化 0*x 吗?我的意思是这样做转换为 0 或者它实际上执行乘法?

谢谢

最佳答案

它可能:

int x = 3;
int k = 0 * 3;
std::cout << k;

00291000 mov ecx,dword ptr [__imp_std::cout (29203Ch)]
00291006 push 0
00291008 call dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (292038h)]

它甚至完全优化掉了变量。

但它可能不会:

struct X
{
friend void operator *(int first, const X& second)
{
std::cout << "HaHa! Fooled the optimizer!";
}
};

//...
X x;
0 * x;

关于c++ - c++ 编译器是否优化 0*x?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11492081/

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