亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

c++ vector 常用函數示例解析

 更新時間:2020年07月21日 14:14:48   作者:賴興宇  
這篇文章主要介紹了c++ vector 常用函數示例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

c++ vector 常用函數

Just like arrays, vectors use contiguous storage locations for their elements, which means that their elements can also be accessed using offsets on regular pointers to its elements, and just as efficiently as in arrays. But unlike arrays, their size can change dynamically, with their storage being handled automatically by the container.

vector也是一個數組但是它的占用的內存大小是動態(tài)變化的。當vector占用的內存滿了之后,就要重新分配內存,并且賦值原來的所有元素,為了避免頻繁的重新分配內存,遷移數據。vector實際分配的內存比你需要的內存多。比如你有10個int的數據在vector中,vector實際占用的內存是20個int的內存, 當你數據占用超過實際占用內存的比例的時候,vector就會自動重新分配內存,遷移數據. vector實際占用的內存可以用capacity()來查看

#include<iostream>
#include<vector>
using namespace std;
int main(){
  vector<int> ans;
  for(int i=0; i<10; i++) ans.push_back(i);
  ans.erase(ans.begin()+2);
  cout<<"擦除第三個數字:";
  for(int j=0; j<ans.size(); j++) cout<<ans[j]<<" ";
  ans.erase(ans.begin(), ans.begin()+2);
  cout<<endl<<"擦除前2個數字:";
  for(int k=0; k<ans.size(); k++) cout<<ans[k]<<" ";
  //盡量不要頻繁使用這個函數,會引起大量數據移動,降低程序效率
  ans.insert(ans.begin()+1, 100);
  cout<<endl<<"在第一位后面插入100:";
  for(int m=0; m<ans.size(); m++) cout<<ans[m]<<" ";
  //vector在聲明的時候,可以申明大小和默認值
  vector<int> temp(5, -1);
  cout<<endl<<"temp的大小為5,默認值是-1:";
  for(int l=0; l<temp.size(); l++) cout<<temp[l]<<" ";
  //resize(int n)改變vector實際儲存的數據個數, 如果n比實際個數多,則多出的位添加0,否則截取掉多余數據
  temp.resize(8);
  cout<<endl<<"把temp的大小改變位8:";
  for(int h=0; h<temp.size(); h++) cout<<temp[h]<<" ";
  //在改變vector大小的同時還能指定多余內存的值;這種方式只適用于分配的空間比原來的多的情況
  temp.resize(10, 1111);
  cout<<endl<<"temp的大小改為10,并且指定多出來空間的值位11111:";
  for(int g=0; g<temp.size(); g++)cout<<temp[g]<<" ";
  cout<<endl<<"獲取temp的第一個元素:"<<temp.front()<<endl<<"獲取temp的最后一個元素:"<<temp.back();
  //常用empty()和size函數來判斷vector是否為空,當vector為空的時候, empty()返回true, size()的值為0
return 0;}

此外可以配合#include<algorithm>庫中的unique函數來刪除vector中的重復元素

vector<int> ans;
ans.erase(unique(ans.begin(), ans.end()), ans.end());

到此這篇關于c++ vector 常用函數示例解析的文章就介紹到這了,更多相關c++ vector 常用函數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C語言實現(xiàn)單詞小幫手

    C語言實現(xiàn)單詞小幫手

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)單詞小幫手,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 淺談C++如何求等差素數列

    淺談C++如何求等差素數列

    這篇文章主要介紹了淺談C++如何求等差素數列,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • C++命名空間使用詳細介紹

    C++命名空間使用詳細介紹

    考慮一種情況,當我們有兩個同名的人,Zara,在同一個班里。當我們需要對它們進行區(qū)分我們必須使用一些額外的信息和它們的名字,比如它們生活在不同的區(qū)域或者興趣愛好什么的,在C++程序中也會遇到同樣的情況,所以命名空間就此產生
    2022-09-09
  • 使用C/C++讀取matlab中.mat格式數據的操作

    使用C/C++讀取matlab中.mat格式數據的操作

    這篇文章給大家介紹了使用C/C++讀取matlab中.mat格式數據的操作,文中通過圖文結合的方式介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • C語言實現(xiàn)圖形化打磚塊游戲

    C語言實現(xiàn)圖形化打磚塊游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)圖形化打磚塊游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 使用C++實現(xiàn)插件模式時的避坑要點(推薦)

    使用C++實現(xiàn)插件模式時的避坑要點(推薦)

    這篇文章主要介紹了使用C++實現(xiàn)插件模式時的避坑要點,本文主要分析實踐中常見的、因為對原理不清楚而搞出來的產品里的坑,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • C語言入門篇--初識結構體

    C語言入門篇--初識結構體

    本篇文章是基礎篇,適合c語言剛入門的朋友,本文對c語言的結構體做了簡單的分析,幫助大家快速入門c語言的世界,更好的理解c語言
    2021-08-08
  • C++虛函數和多態(tài)超詳細分析

    C++虛函數和多態(tài)超詳細分析

    這篇文章主要介紹了C++多態(tài)的特性派生與虛函數與模板,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-01-01
  • C++ random_shuffle()方法案例詳解

    C++ random_shuffle()方法案例詳解

    這篇文章主要介紹了C++ random_shuffle()方法案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • C++數據結構之實現(xiàn)循環(huán)順序隊列

    C++數據結構之實現(xiàn)循環(huán)順序隊列

    這篇文章主要介紹了 C++數據結構之實現(xiàn)循環(huán)順序隊列的相關資料,需要的朋友可以參考下
    2017-01-01

最新評論