前置声明的好处:
1、避免头文件的相互包含;
2、避免引入不必要的头文件,加快编译速度;
那么有命名空间又是模板的类该怎么做前置声明呢?以std::vector为例,基本的思路就是把std::vector的声明内容搬过来。
具体写法
namespace std
{
template
class allocator;
template
>
class vector;
}
class CB
{
public:
void f(std::vector
v);
};