nev*_*nom 0 c c++ gcc casting g++
下面的代码用g ++而不是gcc编译,我想知道为什么?
inline unsigned FloatFlip(unsigned f)
{
unsigned mask = -int(f >> 31) | 0x80000000;
return f ^ mask;
}
Run Code Online (Sandbox Code Playgroud)
我假设在C++中,int(f >> 31)是一个构造函数,但这让我想知道为什么它包含在代码中.是否有必要?
C不支持C++"函数式"转换.你需要这样写
unsigned mask = -(int)(f >> 31) | 0x80000000;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
260 次 |
最近记录: |