使用非固定整数(int,long)而不是固定大小的整数(int64_t,int32_t)是否有任何优势?

lam*_*fun 5 c++ portability

也许表现?我觉得使用非固定整数只会使程序更复杂,并且在移植到另一个架构时容易失败.

Pub*_*bby 5

std::intN_t提供只有在实现可直接支持他们.因此移植使用它们的代码可能会失败.

我更喜欢std::intfastN_t一般用途,因为它们有更少的限制,应该尽可能快或更快int.

此外,大多数C++代码int在任何地方都使用,因此在将std::int32_t函数传递给接受函数的函数时可能会遇到促销怪异int,特别是如果sizeof(int)只有16位.