1. 规则
1.1 原文
1.2 分类
规则1.2:不应该使用语言扩展
Advisory建议类规范。
2. 关键描述
依赖于语言扩展的程序可能比不依赖于语言扩展的程序更不容易移植。尽管标准要求一个符合标准的实现文档记录它提供给语言的任何扩展,但是规范中可能没有提供在所有情况下行为的完整描述。
如果不应用此规则,则应该在项目的设计文档中证明使用每种语言扩展的决定是合理的。还应该记录确保有效使用每个扩展的方法,例如检查编译器及其诊断。
人们认识到在嵌入式系统中使用语言扩展是必要的。标准要求扩展不能改变任何严格符合标准的程序的行为。例如,编译器可以作为扩展实现对二进制逻辑运算符的完整求值,尽管标准规定在确定结果后立即停止求值。这样的扩展不符合标准,因为逻辑与操作符的右操作数总是会出现副作用,从而导致不同的行为
3. Example
无
4. 代码实例
无