首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么在自己的头文件中定义STL容器而不包含其对应的头文件

2012-03-19 
如何在自己的头文件中定义STL容器而不包含其对应的头文件?在effectiveC++中提到过,尽可能不要在头文件中包

如何在自己的头文件中定义STL容器而不包含其对应的头文件?
在effective   C++中提到过,尽可能不要在头文件中包含其他的头文件,但是我发现有时候却很难以做到这一点,也许是因为对语法还不甚了解的原因。
当然,可以通过函数、类的前置声明来完成部分的功能。但是如果遇到下面的情况该怎么办?

我要在自己的类中定义一个vector <unsigned   long>   的成员变量,但是首先,vector是在std命名空间内的,其次vector是一个template容器,那么,我该怎么做前置声明,才能在自己的类定义中,声明一个STL容器成员,而不包含其对应的头文件呢?

[解决办法]
对,定义指向该类型的指针和引用也可以,反正就是不要涉及内存分配,编译器都可以做到。

比如
X *obj;
X &obj;

热点排行