C++vector容器-预留空间
生活随笔
收集整理的這篇文章主要介紹了
C++vector容器-预留空间
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
vector預(yù)留空間
功能描述:
減少vector在多態(tài)擴展容量時的擴展次數(shù)
函數(shù)原型:
reserve(int len);//容器預(yù)留len個元素長度,預(yù)留位置不初始化,元素不可訪問。
當(dāng)我們往vector容器中push_back大量的數(shù),vector就會開辟多次空間,如果我們最開始就告訴vector要預(yù)留多少空間,vector就不用開辟那么多次空間了
利用reserve預(yù)留空間
代碼如下:
#include <iostream> using namespace std; //vector預(yù)留空間 #include <vector>void test01() {vector<int >v;//利用reserve預(yù)留空間v.reserve(100000);int num = 0;//統(tǒng)計開辟次數(shù)int *p = NULL;for (int i = 0; i < 100000; i++) {v.push_back(i);if (p != &v[0]) {p = &v[0];num++;}}cout << "num = " << num << endl;}int main() {test01();return 0; }總結(jié):
如果數(shù)據(jù)量較大,可以一開始利用reserve預(yù)留空間
總結(jié)
以上是生活随笔為你收集整理的C++vector容器-预留空间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 肌肉劳损怎么恢复
- 下一篇: C++set容器-构造和赋值