避免在 include 指令中使用反斜杠
3.1.3 ID_forbidBackslashInHeaderName
如果在 include 指令中使用反斜杠,程序的行为在 C 和 C++03 标准中是未定义的,在 C++11 标准中是由实现定义的。
示例:
#include <foo\bar.h> // Non-compliant
#include "foo\\bar.h" // Non-compliant
#include <foo/bar.h> // Compliant
在有可移植性要求的代码中应避免使用反斜杠。
依据
ISO/IEC 9899:1999 6.4.7(3)-undefined
ISO/IEC 9899:2011 6.4.7(3)-undefined
ISO/IEC 14882:2003 2.8(2)-undefined
ISO/IEC 14882:2011 2.9(2)-implementation
参考
MISRA C++ 2008 16-2-5