栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

《C++11标准库》4.2头文件( Header File)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

《C++11标准库》4.2头文件( Header File)

在C++标准化过程中,将C++标准库中所有的标识符都定义于 namespace std 内,这样的作法不具备向后兼容性,因为原先的C/C++头文件都将C++标准库的标识符定义于全局范围。标准化过程中有些 class 接口也有了变动。为此,C++standard 特别引入了一套新的头文件命名风格,这么一来组件的供应商便可以通过“提供旧式头文件”来达到向后兼容的目的。

既然有必要重新定义定义标准头文件的名称,C++11正好借此机会把头文件的扩展名做一个规范,以往的头文件的扩展五花八门,例如 包括 .h, .hpp和 .hxx。所以有一个标准,简介的头文件名称显得十分重要。

如今的头文件名称,便省去了扩展名:

#include
#include
#include

上述这种写法也适用于C标准头文件。但是必须采用前缀字符 c,不再使用扩展名 .h

#include//相当于#include
#include//相当于#include

对于这些头文件,每一个标识符都被声明于 namespace std 中。

这些命名方式的优点之一是可以区分旧头文件中的 char*C 函数和新头文件中的标准

C++ class string:

#include //C++ class string
#include //C类型 char*函数

现实中,大多数系统只是简单的含入一个“名称与 include 语句中的文件完全相同”的文件,所以,在大部分的系统中,C++标准头文件都没有扩展名。

对于头文件的名称,为了向后兼容于C,旧式的C标准头文件任然有效,若有必要你仍然可以使用它们。

#include

对于上述头文件包含,标识符被声明于全局范围内,也声明于 namespace std中。事实上,这些头文件的行为类似“先在std中声明的所有标识符,再明确使用 using declaration 把这些标识符引入全局范围”。

对于这类C++旧式头文件,C++标准以不在支持使用,但是现实中大多数厂商仍会提供他们,以求向后兼容。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/862412.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号