当询问C中常见的未定义行为时,灵魂比我提到的严格别名规则更加开明. 他们在说什么?
c strict-aliasing undefined-behavior type-punning
我知道有>>符号整数的行为可以依赖于实现(具体来说,当左操作数为负时).
>>
怎么样的人:~,>>,&,^,|?当他们的操作数有符号内建类型(整数short,int,long,long long),都将结果保证是相同的(中位含量),好像他们的类型是无符号的?
~
&
^
|
short
int
long
long long
c c++ bitwise-operators
c ×2
bitwise-operators ×1
c++ ×1
strict-aliasing ×1
type-punning ×1
undefined-behavior ×1