9.1顺序容器的定义

  1. 顺序容器的初始化,使用默认构造函数:元素类型必须有默认构造函数;不适用默认构造函数:元素类型没有默认构造函数,必须指定元素个数,并提供初值(初始化为另一同类型的的已存在容器是同时指定个数和初值的方法)。
  2. 使用两个迭代器指定容器的第一个元素和最后一个元素:
    迭代器为第一个元素,和最后一个元素后的一个元素;
    不要求容器类型相同,也不要求元素类型相同(可转换、兼容即可);
    可以复制另一个容器的一个子序列; 
    指针也是迭代器,允许使用内置数组的一对指针(注意不要越过数组范围)。
  3. 指定元素数目的大小,可使用常量或非常量的表达式。
  4. 不提供初始化式,将使用值初始化。 
  5. 容器元素类型约束:
    (1)支持赋值运算:
    (2)元素类型对象支持复制。(IO库类型不支持赋值或复制,所以不能作为元素类型)
  6. 例子:
    Foo类型没有 默认构造函数,但有一个int型形参饿构造函数,以下声明:
    vector<Foo> empty; //正确:不需要用到默认构造函数
    vector<Foo> bad(10); //错误:需要默认构造函数,但是类型Foo没有
    vector<Foo> ok(10,1); //正确:元素都初始化为1,不需要用默认构造函数
  7. 容器的容器,注意尖括号的空格使用:
    vector< vector<string> > lines;
    两个>之间如果没有空格,会被认为是右移操作符>>,导致编译错误 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值