程序提供向后兼容性

当C + +是第一个被创造出来,所有的文件在标准运行库结束。H。生活是一致的,它是好的。cout和cin的原始版本住在iostream。当语言是标准的ANSI委员会,他们决定把所有的功能在运行库在命名空间std中(通常是一个好主意)。然而,这提出了一个问题:如果他们把所有的功能在std命名空间中,旧的程序没有任何更多的工作!

为了解决这个问题,因为旧的程序提供向后兼容性,一套新的头文件使用相同的名字了,但缺乏H延伸。这些新的头文件都有它们的功能在命名空间std内。这样,旧的程序,包括#包括< iosteam。h>不需要重写,和新的程序可以#包含iostream > <。

确保当你包含一个头文件从标准库,你使用非H版如果它存在。否则你将使用过时的版本的头,不再支持。

作为一个方面说明,标准库中的很多标题没有非。H版,只有H版。这些文件,这是罚款包括H版。许多图书馆都向后兼容标准的C语言编程,C不支持命名空间。因此,这些图书馆的功能将不在命名空间std中访问。另外,当你写你自己的头文件,它们都有一个。H的扩展,因为你不会把你的代码在std命名空间。

规则:使用非。如果它存在一个图书馆的h版本,并通过命名空间std中访问功能。如果非。H版本不存在,或你创造你自己的头,用H版

头文件的最佳实践

这里是一些最好的方法创建你自己的头文件。

总是包含头文件保护。

不在头文件中声明的变量,除非他们是常数。头文件应该只用于声明。

没有定义的功能在头文件中,除非他们平凡的。这样做可以使你的头文件的人难读。

每个头文件应该有一个具体的工作,并尽可能的独立。例如,你可以把你所有的声明在细菌和所有你的声明的功能,相关功能的B在本文相关的如果你只在乎以后,你可以只包括细菌并没有得到任何的东西相关的B

尝试包括一些其他头文件可能在您的头文件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值