您的位置:首页 > 其它

C++中vector的用法

2010-12-29 14:53 162 查看



vector是C++中用来代替内置数组的一个容器。

它是C++标准库的一部分。

使用它时必须包含预处理#include<vector>。

vector有两种用法:

1。vector<int> vector(elem_size)

该种方法的括号里的内容不仅仅可以是元素的个数。

vector不能像C中的数组一样初始化

int array[6] = {1, 2, 3, 4, 5, 6};

但是可以把一个已有的数组给vector初始化:

vector<int> vector(array, array+6);

或者把array中的一部分初始化给vector:

vector<int> vector(array+1, array+4);

这里拷贝的部分值是:2,3,4(前3位,但后3位的值有些莫名奇妙)

注意:括号里的值是指针。

例子:

1 #include<stdio.h>

2 #include<vector>

3 #include<iostream>

4 #include<string>

5

6 using namespace std;

7

8 int main()

9 {

10 int i = 0;

11 vector<string> v;

12 //for(i = 0; i < 10; i++){

13 // v.push_back("wanglei");//装入元素到vector中

14 //}

15 string word;

16 for(int i=0; i < 10; ++i){

17 cin >> word;

18 v.push_back(word);

19 }

20 cout << "words read are :/n";

21 for(vector<string>::iterator it = v.begin(); it != v.end(); ++it){

22 cout << *it << ' ';

23 }

24 cout << endl;

25

26 for(i = 0; i < v.size(); i++){

27 cout << v[i] << " ";

28 }

29

30 cout << endl;

31 //vector的第一种用法:类似于内置数组的方法

32 const int elem_size = 10;

33 int array[elem_size] = {0,1, 2, 3, 4, 5, 6, 7, 8, 9};

34 vector<int> vector(array, array+10);

35 //for(int i=0; i < elem_size; ++i){

36 // vector[i] = v[i];

37 //}

38 for(int i=0; i < elem_size; ++i){

39 cout << vector[i];

40 }

41 cout << endl;

42 return 0;

43 }

编译:$ g++ a.c

运行:$ ./a.out

结果:

Enter a text:

hello world! I'm a C++ programmer.How do you do ? my name is ..

words read are :

hello world! I'm a C++ programmer.How do you do ?

hello world! I'm a C++ programmer.How do you do ?

指针作为vector构造函数的参数:

0123456789

2。STL用法:

定义一个空的vector

vector<string> text;

然后通过push_back()函数将元素添加进去。

例子,

15 string word;

16 for(int i=0; i < 10; ++i){

17 cin >> word;

18 v.push_back(word);

19 }

20 cout << "words read are :/n";

21 for(vector<string>::iterator it = v.begin(); it != v.end(); ++it){

22 cout << *it << ' ';

23 }

24 cout << endl;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: