Tre*_*key 0 c++ types literals language-lawyer c++11
根据cppreference,
以下语句将是无效的C++:
unsigned short test = 5u;
Run Code Online (Sandbox Code Playgroud)
为什么使用后缀u
或U
不允许使用unsigned short?
代码仍然编译,但这样做有什么后果吗?
5u
不是类型unsigned short
,但这并不意味着unsigned short test = 5u;
"非法".
通常的转换发生.由于所有unsigned int
s的模2^n
的一些n
,这只是截断右手边"逐位"的值.只要rhs值适合短期,就什么都不会发生; 如果不是,则采用"低位".
我在引号中谈到"位",因为2^n
对于n
标准下的某些值,它实际上是数学模数.这与位相同,但不要求C++环境使用明显的布局实际实现它.
归档时间: |
|
查看次数: |
152 次 |
最近记录: |