2.2.1.6 标准C++(www.cppentry.com) include 语句格式
随着C++(www.cppentry.com)的不断演化,不同的编译器厂商选用了不同的文件扩展名。而且,不同的操作系统对文件名有不同的限制,特别是对文件名长度限制。结果引起了对源代码的可移植性的限制。为了消除这些差别,标准使用的格式允许文件名长度可以大于众所周知的8个字符,去除了扩展名。例如,代替老式的包含iostream.h的语句
现在可以写成:
如果需要截短文件名和加上扩展名,翻译器会按照一定的方式来实现包含语句,以适应特定的编译器和操作系统。当然,如果想使用这种没有扩展名的风格,但编译器厂商没有提供这种支持,也可以将厂商提供的头文件拷贝成没有扩展名的文件。
从C继承下来的带有传统“.h”扩展名的库仍然可用。然而,也可以用更现代的C++(www.cppentry.com)风格使用它们,即在文件名前加一个字母“c”。这样
就变为:
对所有的标准C头文件都一样。这就为读者提供了一个区分标志,说明所使用的是C还是C++(www.cppentry.com)库。
新的包含格式和老的效果是不一样的:使用.h的文件是老的、非模板化的版本,而没有.h的文件是新的模板化版本。如果在同一程序中混用这两种形式,会遇到某些问题。