对头文件依赖的新理解
发布时间:2020-12-13 20:22:10 所属栏目:百科 来源:网络整理
导读:今晚随手翻看了一下《Effective C++》, 突然对条款34: 将文件间的编译依赖性降至最低,比较感兴趣,于是又重看了一次。 对类型前向声明代替头文件引入适用的情景有了一个新的理解, 以前用的最多的是,适用指针或者引用,但文中还说到了返回值和参数都可以
今晚随手翻看了一下《Effective C++》, 突然对条款34: 将文件间的编译依赖性降至最低,比较感兴趣,于是又重看了一次。 对类型前向声明代替头文件引入适用的情景有了一个新的理解, 以前用的最多的是,适用指针或者引用,但文中还说到了返回值和参数都可以利用这一规则(以前觉得是不行的)。 于是网上google了一下,结果找到了《Google C++风格指南》里面关于头文件依赖的章节。
关于函数参数和返回值,文中特别强调了不能定义实现,也就是函数实现不要在h文件中。 特别是模板代码,由于必须在h文件中实现,也就不能利用前向声明的优点了。 我们再看看《Effective C++》里面是如何说的:
所以,根本原因就是分配内存大小的问题。 难怪《Effective C++》说了这样一句话: 问题发生的原因在于,在将接口从实现分离这方面,C++做得不是很出色。尤其是,C++的类定义中不仅包含接口规范,还有不少实现细节。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |