标签: c++ static-cast uint32
以下代码完成了预期的操作
uint32_t a = 1, b = 2; std::cout << static_cast<int64_t>(a) - b << '\n';
打印-1。 但是,如果我将int64_t更改为int,一切都会中断:
-1
int64_t
int
std::cout << static_cast<int>(a) - b << '\n';
打印4294967295。
4294967295
有人知道这是什么招吗?