如何给std模板前置声明

如何给std模板前置声明,第1张

1、包含头文件<vector>

2、如果不想每次都用std的namespace,加using语句

例如:

#include<vector>

using namespace std

vector<int>vec

前向声明就是:

可以声明一个类而不定义

class Screen//declaration of the Screen class

这个声明,有时候被称为前向声明(forward declaration),在程序中引入了类类型的Screen.在声明之后,定义之前,类Screen是一个不完全类型(incompete type),即已知Screen是一个类型,但不知道包含哪些成员.

不完全类型只能以有限方式使用,不能定义该类型的对象,不完全类型只能用于定义指向该类型的指针及引用,或者用于声明(而不是定义)使用该类型作为形参类型或返回类型的函数.

这是因为不知道这个类型的占用的空间大小;

例子:

class A

class B {

private:

A* fPtrA

public:

void mymethod(const&A) const

}

前置声明的好处很多, 比如能避免头文件互相包含的冲突, 比如有时在一个头文件中只需要另一个头文件的某个类型定义, 只需要对它做一下前置声明即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11651123.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存