C++ 为什么“1<&书信电报;32`和'int i=32;1<&书信电报;我有不同的结果吗?它是一个bug还是一个特性?
代码如下所示。我在VS、clang++和G++上测试了它。它们都显示C++ 为什么“1<&书信电报;32`和'int i=32;1<&书信电报;我有不同的结果吗?它是一个bug还是一个特性?,c++,C++,代码如下所示。我在VS、clang++和G++上测试了它。它们都显示1 std::coutC++标准说 E1两个操作数的值到您说它给出了不同的结果,但没有显示这些结果检查。@πάνταῥεῖ 我收到了警告。我只是想知道为什么(1您得到了哪些结果?@ForceBru我添加了结果。 #include <iostream> int main(int argc, char *argv[]) { std::cout << (1 << 32) <<
1
std::coutC++标准说
E1两个操作数的值到您说它给出了不同的结果,但没有显示这些结果检查。@πάνταῥεῖ 我收到了警告。我只是想知道为什么(1您得到了哪些结果?@ForceBru我添加了结果。
#include <iostream>
int main(int argc, char *argv[])
{
std::cout << (1 << 32) << std::endl;
int i = 32;
std::cout << (1 << i) << std::endl;
return 0;
}
clang++:
1 << 32:73832
1 << i:1
g++:
1 << 32:73832
1 << i:1