vector的定义

**

1. vector的定义:

**

为了使用vector,我们必须包含的头文件:
#include <vector>

使用vector有两种不同的形式:

  • 数组习惯
  • STL习惯

对于数组习惯

*

我们模仿内置数组的方法:定义一个已知长度的vector:

 vector<int> ivec(10);  //类似于定义包含十个元素的内置数组一样:int ia[10]

还可以为每个元素提供一个显式的初始值来完成初始化:

 vector<int> ivec2(10, -1);

定义了ivec2,包含十个int型的元素,每个元素都被初始化为-1.

对于内置数组,我们可以显示地把数组的元素初始化为一组常量值:

    int ia[6] = {-2, -1, 0, 1, 2, 1024};

但是,我们不能用同样的方法显式地初始化vector。不过,可以将vector初始化为一个已有数组的全部或者一部分;只需指定希望被用来初始化vector的数组的开始地址以及数组最末元素的下一位置来实现:

    vector<int> ivec3(ia, ia+6);//把ia的6个元素拷贝到ivec3

被传递给ivec3的两个指针标记了用来初始化对象值的范围。第二个指针总是指向要被拷贝的末元素的下一个位置,标记出来的元素范围也可以是数组的一个子集。例如:

    vector<int> ivec4(&ia[2], &ia[5]); //拷贝3个元素: ia[2], ia[3], ia[4]

与内置数组不同,vector可以被另一个vector初始化,或者被赋给另一个vector;例如:

    vector<int> ivec5(ivec4);//用ivec4初始化ivec5
    ivec4 = ivec5;//把一个vector拷贝给另一个vector

**

对于STL习惯:

**

用法完全不同,我们不是定义一个已知大小的vector,而是定义一个空vector。

例如:

    vector<string> text;
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值