c++中vector的一些知识

本文介绍了在C++中使用STL容器vector的一些高效技巧,包括如何使用vector替代C风格数组,如何利用vector内置函数及算法提高代码效率,并探讨了减少内存分配次数的重要性。

使用原则:

  1. 尽量使用vector代替C风格的数组或者CArray;
  2. 尽量使用算法代替手工写的循环;
  3. 尽量使用vector本身的函数代替其他泛型算法;

填充vector

如果我们想用原始数组的内容填充vector,那么有很多种方式。下面来展示下vector的几个方法。
例如我们有数组int v1[10] = {0,1,0,0,3,0,0,4,4,4};

初始化方式1:

    vector<int> v2(10); //初始化size为10可以避免数组动态增长的时候不断的分配内存
    //v2.reserve(10);//同上,只要使用其中一个就可以了
    for( int i=0; i<10; i++ )
    {
    v2.push_back(v1[i]);//增加一个元素
    }

初始化方式2:

    vector<int> v3(&v1[0],&v1[9]);//原始数组的元素指针可以作为迭代器来使用

原始数组的元素指针可以作为迭代器来使用。
原则:尽量使用reserve来减少不必要的内存分配次数。
原则:尽量使用empty而不是size()==0 来判断容器是否为空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值