搜档网
当前位置:搜档网 › C++中的vector简单使用实例

C++中的vector简单使用实例

C++中的vector简单使用实例
C++中的vector简单使用实例

C++中的vector简单使用实例

作者:天涯来源:中国自学编程网发布日期:1236667017

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

首先是vector的声明:

#include

using namespace std; // 在这里声明

...

vector i;

...

或者

#include

...

std::vector i; // 在这里显式声明

看具体使用:

1.vector 的数据的存入和输出:

view plaincopy to clipboardprint?

vector v;

for(int i =0;i<40;i++)

{

CString s;

s.Format("%d",i);

v.push_back(s);

}

CString ss ;

for(int j =0;j

{

ss+=v[j]+",";

}

MessageBox(ss);

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

view plaincopy to clipboardprint?

vector v;

for(int i =0;i<40;i++)

{

CString s;

s.Format("%d",i);

v.push_back(s);

}

CString ss ;

vector::iterator iter;

for( iter = v.begin(); iter != v.end(); iter++ )

{

ss+= *iter+",";

}

MessageBox(ss);

vector v;

for(int i =0;i<40;i++)

{

CString s;

s.Format("%d",i);

v.push_back(s);

}

CString ss ;

vector::iterator iter; //枚举器

for( iter = v.begin(); iter != v.end(); iter++ )

{

ss+= *iter+",";

}

MessageBox(ss);

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

view plaincopy to clipboardprint?

vector< vector > Array( 10, vector(0) ); for( int j = 0; j < 10; j++ )

{

for (int i = 0; i < 9; i++ )

{

CString s;

s.Format("%d",i);

Array[ i ].push_back(s);

}

}

CString ss;

for( int jj = 0; jj < 10; jj++ )

{

for(int ii = 0; ii < Array[ jj ].size(); ii++ )

{

ss+=Array[jj][ii];

}

}

MessageBox(ss);

vector< vector > Array( 10, vector(0) );

for( int j = 0; j < 10; j++ )

{

for (int i = 0; i < 9; i++ )

{

CString s;

s.Format("%d",i);

Array[ i ].push_back(s);

}

}

CString ss;

for( int jj = 0; jj < 10; jj++ )

{

for(int ii = 0; ii < Array[ jj ].size(); ii++ )

{

ss+=Array[jj][ii];

}

}

MessageBox(ss);

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

view plaincopy to clipboardprint?

int i = 0, j = 0;

vector< vector > Array;

vector< CString > line;

for( j = 0; j < 10; j++ )

{

Array.push_back( line );//要对每一个vector初始化,否则不能存入元素。for ( i = 0; i < 9; i++ )

{

CString s;

s.Format("%d",i);

Array[ j ].push_back( s );

}

}

CString ss;

for(int jj = 0;jj

{

for(int ii =0;ii

{

ss+=Array[jj][ii];

}

}

MessageBox(ss);

问大家有关vector长度和容量的问题

#include

#include

#include

using namespace std;

void main()

{

vector svec;//长度和容量都是0

svec.reserve(64);//长度不变,容量被置为64

string text_word;

while(cin> > text_word)

svec.push_back(text_word);//输入192个单词,长度变为192 //容量为256

svec.resize(svec.size()+70);

cout < < "size: " <

< < "capacity: " <

//长度增长70,为262,容量为384

}

为什么容量是384,而不是512或326?

#1

?

?clhposs

?(Poss)

?等级:

?

对我有用

丢个板砖

引用

举报

管理

TOP

精华推荐:

#2

?

?baihacker

?(飞雪)

?等级:

? 4

3

#3

?

?effective_person

?(晓风)

?等级:

?

#4

?

?clhposs

?(Poss)

?等级:

?

相关主题