Joc*_*hen 11 c++ platform-independent
例如
size_t x = -1u;
if (x == -1u)
...
Run Code Online (Sandbox Code Playgroud)
有效?
如果这是有效的,它将阻止警告.当然在32位系统上x应该是0xffffffff而在64位系统上它应该是0xffffffffffffffff.
-Jochen
1u有类型unsigned int.然后使用一元运算-符对此进行否定.行为如下:
无符号数量的负数是通过从2 n减去其值来计算的,其中n是提升操作数中的位数(C++ 11 5.3.1/8).
-1u因此保证为您提供可表示的最大值unsigned int.
要获得可由任意无符号类型表示的最大值,可以-1转换为该类型.例如std::size_t,考虑
static_cast<std::size_t>(-1).
| 归档时间: |
|
| 查看次数: |
1007 次 |
| 最近记录: |