使用数组来初始化 vector 对象

来源:互联网 发布:云计算三种模式 编辑:程序博客网 时间:2024/04/30 21:08

我的主力博客:半亩方塘

使用数组来初始化 vector 对象,只需要 指明拷贝区域的首元素地址和尾后地址就可以了,下面通过两组程序及其运行结果来深入理解一下:

程序一:

#include <iostream>#include <vector>#include <iterator>using std::vector;using std::begin;using std::end;using std::cout;using std::endl;  int main(){    int arr[] = {11, 32, 41, 25, 67, 100, 88, 233};  // 列表初始化内置数组      // 指出拷贝区域范围,使用数组初始化 vector 对象    vector<int> iv(begin(arr), end(arr));      for (auto c : iv)  // 输出 vector 对象的内容以验证结果        cout << c << ' ';    cout << endl;      return 0;}

程序一的运行结果为:

11 32 41 25 67 100 88 233,与期望中完全一致

程序二:


#include <iostream>#include <vector>using std::vector;using std::cout;using std::endl;int main(){    int arr[] = {11, 32, 41, 25, 67, 100, 88, 233};  // 列表初始化内置数组      // 指出拷贝区域范围,使用数组初始化 vector 对象    vector<int> iv(arr + 2, arr + 7);    for (auto c : iv)  // 输出 vector 对象的内容以验证结果        cout << c << ' ';    cout << endl;    return 0;}  

程序二的运行结果为:

41 25 67 100 88,与期望中完全一致

需要特别注意的是, vector 对象不能用来初始化数组 ,这个过程是不可逆的。



0 0
原创粉丝点击