曲径通幽论坛
标题:
什么是容器?
[打印本页]
作者:
easy
时间:
2014-1-15 15:53
标题:
什么是容器?
Q : 什么是容器?
A :容器是存储其它对象的对象。被存储的对象必须是同一种类型,它们可以是 OOP 意义上的对象,也可以是内置类型值。存储在容器中的数据为容器所有,这意味着,当容器过期时,存储在容器中的数据也将过期(如果数据是指针的话,则它指向的数据并不一定过期)。
存储在容器中的类型必须是可复制构造和可赋值的。基本类型满足这些要求,比如 int, double, char 等;对于类,只要类定义没有将复制构造函数和赋值运算符声明为私有或保护的,那么也是可以的。
比如定义了这么一个类:
class vtmp {
public:
int i;
char a;
private:
vtmp(const vtmp &ob);
};
复制代码
那么语句 vector<vtmp> good(5); 是错误的,在编译的时候,如在 VC 中会提示:
没有合适的默认构造函数可用
。
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/)
Powered by Discuz! X3.2