STL标准库vector笔记
生活随笔
收集整理的這篇文章主要介紹了
STL标准库vector笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
vector::assign()用法:
1 #include "stdafx.h" 2 #include <iostream> 3 #include <vector> 4 using namespace std; 5 6 int _tmain(int argc, _TCHAR* argv[]) 7 { 8 int num[]={1,2,3,4,5}; 9 vector<int> vec1(num,num+sizeof(num)/sizeof(int)); 10 ostream_iterator<int> output(cout,"\n"); 11 copy(vec1.begin(),vec1.end(),output); 12 cout<<"第一種用法"<<endl; 13 vec1.assign(6,100); 14 //assign第一種用法:assign(參數1,參數2),參數1為分配n個值,參數2為值。assign會先清除vector再賦值。 15 copy(vec1.begin(),vec1.end(),output); 16 cout<<"第二種用法,vec2復制vec1的值"<<endl; 17 vector<int> vec2; 18 vec2.assign(vec1.begin(),vec1.end());//assign第二種用法,復制參數1到參數2之間的值,注意assign都是先清空再賦值。 19 copy(vec2.begin(),vec2.end(),output); 20 return 0; 21 }?
===============
vector::at? vector:back
1 #include "stdafx.h" 2 #include <iostream> 3 #include <vector> 4 using namespace std; 5 6 int _tmain(int argc, _TCHAR* argv[]) 7 { 8 vector<char> vec(10); 9 char atvec[]={"ABCDE"}; 10 for(int i=0;i<vec.size();i++) 11 { 12 vec.at(i)=atvec[i]; 13 } 14 ostream_iterator<char>output(cout,"\n"); 15 cout<<"最后一個元素是:"<<endl; 16 cout<<vec.back()<<endl;//返回最后一個元素 17 cout<<"所有元素是:"<<endl; 18 copy(vec.begin(),vec.end(),output); 19 20 return 0; 21 }?
使用at()函數可以像操作數組一樣操作vector。也可以用[]操作符來訪問下標,但是[]會出現訪問越界,而at更安全。
===============
vector::capacity 是得到系統自動分配內存的容量。
1 int _tmain(int argc, _TCHAR* argv[]) 2 { 3 vector<int> vec; 4 for (int i=0; i<1000; i++) vec.push_back(i); 5 cout << "大小: " << (int) vec.size() << "\n"; 6 cout << "目前分配內存最大容量: " << (int) vec.capacity() << "\n"; 7 cout << "最大大小: " << (int) vec.max_size() << "\n"; 8 return 0; 9 }
================
vector::erase
兩種用法
vector<int> vec; for(int i=1;i<10;i++) vec.push_back(); vec.erase(vec.begin()+3);//刪除地址3后邊一個元素 vec.erase(vec.begin(),vec.begin()+7);//刪除參數1到參數2之間的元素 vec.clear()// delete all==========
其他等用法
vec1.swap(vec2)//交換兩者值 vector<int>::reverse_iterator rit;//這個生成的是一個逆向指針 vec.rbegin() ;//返回vector最后一個元素,back()是返回最后一個元素的引用 ver.rend(); //返回一個逆序迭代器,它指向vector容器中的第一個元素的前面一個位置?
vec.resize(n,num);//重設vector的大小,多余部分刪除。參數1為大小,參數2為值(值只會賦予后邊新增的部分,比如原長度是10,使用resize(20),那么多余的10個容量就會用參數2填充。?
轉載于:https://www.cnblogs.com/buy139/archive/2012/07/31/2617101.html
總結
以上是生活随笔為你收集整理的STL标准库vector笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开发备必:WEB前端开发规范文档
- 下一篇: Java学习之日期学习