【31】将文件间的编译依存关系降至最低
2014-01-21 19:54
330 查看
1、一般情况下,使用一个东西,只要说我有这个东西就行了,不需要定义。但是,对于类,必须要有定义,为啥?
因为创建对象,需要知道分配多大空间,这种情况,必须询问类的定义式,才知道。
2、怎么解决上面的问题?
问题的关键是,必须知道对象占用多大空间。可以这样做,使用指向实现的类(pimpl idom)。包含一个指向对象的指针,这种情况,不需要直到对象占用多大空间。
3、声明一个方法的时候,对于方法形参中的对象,不需要include类的定义,为什么?
这个事情是在调用端做的,方法声明端不需要inlucde。
4、还有一种办法是,采用接口,接口中没有字段。
因为创建对象,需要知道分配多大空间,这种情况,必须询问类的定义式,才知道。
2、怎么解决上面的问题?
问题的关键是,必须知道对象占用多大空间。可以这样做,使用指向实现的类(pimpl idom)。包含一个指向对象的指针,这种情况,不需要直到对象占用多大空间。
3、声明一个方法的时候,对于方法形参中的对象,不需要include类的定义,为什么?
这个事情是在调用端做的,方法声明端不需要inlucde。
4、还有一种办法是,采用接口,接口中没有字段。
相关文章推荐
- 条款31:将文件间的编译依存关系降至最低
- 读书笔记《Effective C++》条款31:将文件间的编译依存关系降至最低
- 条款31:将文件间的编译依存关系降至最低
- Effectiv C++条款31 将文件间的编译依存关系降至最低 Handle Class和Interface Class完整实现
- 条款31:将文件间的编译依存关系降至最低
- 《Effective C++》:条款31:将文件间的编译依存关系降至最低
- Effective C++笔记_条款31将文件间的编译依存关系降至最低
- c90b 条款31:将文件间的编译依存关系降至最低
- 条款31:将文件间的编译依存关系降至最低(Minimize compilation dependencies between files)
- Effectiv C++条款31 将文件间的编译依存关系降至最低 Handle Class和Interface Class完整实现
- effective C++ 条款 31:将文件间的编译依存关系降至最低
- 《Effective C++》之条款31:将文件间的编译依存关系降至最低
- Effective C++ -----条款31:将文件间的编译依存关系降至最低
- Effective C++ 条款31 将文件中间的编译依存关系降至最低
- 《Effective C++》学习笔记条款31:将文件间的编译依存关系降至最低
- 《Effective C++》读书笔记之item31:将文件间的编译依存关系降至最低
- 条款31:将文件间的编译依存关系降至最低
- Effectiv C++条款31 将文件间的编译依存关系降至最低 Handle Class和Interface Class完整实现
- Effective C++笔记_条款31将文件间的编译依存关系降至最低
- 读书笔记_Effective_C++_条款三十一:将文件间的编译依存关系降至最低