使用数组来初始化 vector 对象

我的主力博客:半亩方塘

使用数组来初始化 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 对象不能用来初始化数组 ,这个过程是不可逆的。



  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值