曲径通幽论坛

标题: 什么是容器? [打印本页]

作者: easy    时间: 2014-1-15 15:53
标题: 什么是容器?
Q : 什么是容器?
A :容器是存储其它对象的对象。被存储的对象必须是同一种类型,它们可以是 OOP 意义上的对象,也可以是内置类型值。存储在容器中的数据为容器所有,这意味着,当容器过期时,存储在容器中的数据也将过期(如果数据是指针的话,则它指向的数据并不一定过期)。

存储在容器中的类型必须是可复制构造和可赋值的。基本类型满足这些要求,比如 int, double, char 等;对于类,只要类定义没有将复制构造函数和赋值运算符声明为私有或保护的,那么也是可以的。

比如定义了这么一个类:
  1. class vtmp {
  2. public:
  3.         int i;
  4.         char a;
  5. private:
  6.         vtmp(const vtmp &ob);
  7. };
复制代码
那么语句 vector<vtmp> good(5); 是错误的,在编译的时候,如在 VC 中会提示:没有合适的默认构造函数可用





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2