禁用不安全的编译选项
1.22 ID_unsafeCompileOption
掩盖错误、不符合标准、屏蔽安全措施等不安全的编译选项应被禁用。
示例:
c++ test.cpp -o test -fpermissive -w # Non-compliant
c++ test.cpp -o test -fno-access-control # Non-compliant
c++ test.cpp -o test -ffast-math # Non-compliant
例中选项 -fpermissive 会使一些编译错误降为警告,-w 会隐藏警告,-fno-access-control 会打破语言规则,使类成员不再受 private、protected 等关键字限制,-ffast-math 虽然会提高程序的运算效率,但不再遵守相关 IEEE 或 ISO 标准,这种编译选项均不应使用。
配置
forbiddenOptions: 应被禁用的编译选项