c++ vector

前几天网友问我c++里面的vector的使用,现在对vector进行简单总结,共享CSDN网友。说明:东西比较简单,如果你很牛,请直接关闭本页!

首先是vector的声明:
#include <vector>
using namespace std; // 在这里声明
...
vector<int> i;
... 
或者
#include <vector>
...
std::vector<int> i; // 在这里显式声明

看具体使用:
1.vector 的数据的存入和输出:

[cpp] view plaincopy
 
  1. vector<CString> v;  
  2. for(int i =0;i<40;i++)  
  3. {  
  4.     CString s;  
  5.     s.Format("%d",i);  
  6.     v.push_back(s);  
  7. }  
  8. CString ss ;  
  9. for(int j =0;j<v.size();j++)  
  10. {  
  11.     ss+=v[j]+",";  
  12. }  
  13. MessageBox(ss);  

注:你也可以用v.begin()和v.end() 来得到vector开始的和结束的元素地址的指针位置。你也可以这样做:

[cpp] view plaincopy
 
  1. vector<CString> v;  
  2. for(int i =0;i<40;i++)  
  3. {  
  4.     CString s;  
  5.     s.Format("%d",i);  
  6.     v.push_back(s);  
  7. }  
  8. CString ss ;  
  9. vector<CString>::iterator iter;  
  10. for( iter = v.begin(); iter != v.end(); iter++ )   
  11. {  
  12.     ss+= *iter+",";  
  13. }  
  14. MessageBox(ss);  

2.对于二维vector的定义(开始就固定长度)

[cpp] view plaincopy
 
  1. vector< vector<CString> > Array( 10, vector<CString>(0) );   
  2. for( int j = 0; j < 10; j++ )  
  3. {  
  4.     for (int i = 0; i < 9; i++ )  
  5.     {  
  6.         CString s;  
  7.             s.Format("%d",i);  
  8.         Array[ i ].push_back(s);  
  9.     }  
  10. }  
  11.   
  12. CString ss;  
  13. for( int jj = 0; jj < 10; jj++ )  
  14. {  
  15.     for(int ii = 0; ii < Array[ jj ].size(); ii++ )  
  16.     {  
  17.         ss+=Array[jj][ii];  
  18.     }  
  19. }  
  20. MessageBox(ss);  

3.定义一个行列都是变化的数组

[cpp] view plaincopy
 
  1. int i = 0, j = 0;  
  2. vector< vector<CString> > Array;  
  3. vector< CString > line;  
  4. for( j = 0; j < 10; j++ )  
  5. {  
  6.     Array.push_back( line );//要对每一个vector初始化,否则不能存入元素。  
  7.     for ( i = 0; i < 9; i++ )  
  8.     {  
  9.         CString s;  
  10.             s.Format("%d",i);  
  11.         Array[ j ].push_back( s );  
  12.     }  
  13. }  
  14.   
  15. CString ss;  
  16. for(int jj = 0;jj<Array.size();jj++)  
  17. {  
  18.     for(int ii =0;ii<Array[jj].size();ii++)  
  19.     {  
  20.         ss+=Array[jj][ii];  
  21.     }  
  22. }  
  23. MessageBox(ss);  
原文地址:https://www.cnblogs.com/xzh1993/p/4913681.html