禁用 digraphs
3.7.2 ID_forbidDigraphs
由于少数键盘无法输出所有 C/C++ 标准字符,C/C++ 语言允许使用 digraphs 代替无法输出的字符,但可读性较差,不利于维护。
digraph 由特定字符组成:
<: :> <% %> %: %:%:
分别对应:
[ ] { } # ##
示例:
%:include <math.h> // Non-compliant
int g = 3;
int foo(int i) <% // Non-compliant
return i%::g; // Non-compliant, ‘%:’ is a digraph
%> // Non-compliant
相关
依据
ISO/IEC 9899:1999 6.4.6(3)
ISO/IEC 9899:2011 6.4.6(3)
ISO/IEC 14882:2003 2.5
ISO/IEC 14882:2011 2.6
ISO/IEC 14882:2017 5.5
参考
MISRA C++ 2008 2-5-1