PORTING.STRUCT.BOOL

结构或类存在布尔型成员

PORTING 检查器标识出那些可能依赖于不同编译器中特定实施细则的代码。PORTING.STRUCT.BOOL 检查器检测那些结构或类中存在布尔成员的情况。

漏洞与风险

当数据结构中包含“bool”数据类型的成员时,该检查器会警告您。因为不同编译器会将该数据类型表述为字节、词汇或任何其他整型布局,因此在更改编译器时,数据结构在内存中的总体布局可能发生极大的偏移。

缓解与预防

处理该问题的最佳方式是使用抽象数据类型来表示该值,这样您就可以精确地控制数据成员的宽度。另一种方法是在新平台上采用编译器指令或命令行开关。