所以我正在玩类型和我下面出现这个奇怪的结果。调试它没有意义,然后唯一的结果是检查出C++ spects,这没有太大的帮助。我想知道你是否可能完全知道这里发生了什么,如果它是32Bit和/或64Bit的特定问题。unsigned int/signed int/long long:莫名其妙的输出
#include <iostream>
using namespace std;
int main() {
unsigned int u = 1;
signed int i = 1;
long long lu = -1 * u;
long long li = -1 * i;
std::cout<<"this is a weird " << lu << " " << li << std::endl;
return 0;
}
当输出是
this is a weird 4294967295 -1
@George这不是未定义的行为,因为这是无符号整数溢出 – DarthRubik