这个非常简单的代码:
#include <iostream>
int main() {
const std::uint64_t number = 1024U * 1024U * 1024U * 1024U;
std::cout << number << std::endl;
}
编译为:
g++ test.cpp
在全新的Ubuntu 18.04 64位计算机输出上:
0
在我期望的时候:
1099511627776
适合64位无符号整数
有什么主意吗?