曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 2327|回复: 0
打印 上一主题 下一主题

什么是容器?

[复制链接]

716

主题

734

帖子

2946

积分

超级版主

Rank: 9Rank: 9Rank: 9

积分
2946
跳转到指定楼层
楼主
发表于 2014-1-15 15:53:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 中会提示:没有合适的默认构造函数可用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-4-30 09:05 , Processed in 0.080550 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表