C++ primer: C++标准库中vector类模板
(C++ primer读书笔记)2013.3.19 zzy @Library4D
vector是同一种类型对象的集合,每个对象都有一个对应的整数索引值。vector称为容器。使用前包含vector头文件,并对名字vector做using申明。
1 #include<vector> 2 using std::vector;
vector是一个类模板,使用时通过将类型放在类模板名后的尖括号中来指明类型。如:
1 vector<int> 2 3 vector<string> 4 5 vector< vector<int> >
定义与初始化,vector支持几种构造函数
1 vector<Type> v1; //默认构造函数,v1为空 2 3 vector<Type> v2(v1); //v2是v1的一个副本 4 5 vector<Type> v3(n, i); //v3有n个值为i的元素 6 7 vector<Type> v4(n); //v4含有n个元素,每个元素默认初始化
几个vector对象定义和初始化的实例:
1 vector<int> ivec0; 2 3 vector<int> ivec1(10); //10 elements,each is 0 4 5 vector<int> ivec2(ivec1); 6 7 vector<int> ivec3 = ivec1; 8 9 vector<int> ivec4(10,5); //10 elements,each is 5 10 11 12 13 vector< vector<int> > ivecvec1(2,ivec2); 14 15 vector< vector<int> > ivecvec2(2); 16 17 18 19 vector<string> svec1(10); 20 21 vector<string> svec2(10,"null");
vector对象的操作:
size成员函数返回vector对象中元素的个数,返回类型为vector<Type>::size_type,也可把该返回值赋值给算数类型。
empty成员函数测试vector对象是否为空,返回bool值。
1 vector<int> v(10); 2 3 vector<int>::size_type len = v.size(); 4 5 cout << len << endl; 6 7 if(v.empty()) 8 9 cout << "empty" << endl;
push_back函数向vector对象的末尾插入新元素,可以通过[ ]下表操作符来访问vector对象的元素。
1 string word; 2 3 vector<string> text; 4 5 for(vector<string>::size_type i = 0; i != 10; ++i){ 6 7 cin >> word; 8 9 text.push_back(word); 10 11 } 12 13 for(vector<string>::size_type i = 0; i != text.size(); ++i){ 14 15 for(string::size_type j = 0; j != text[i].size(); ++j){ 16 17 text[i][j] = toupper(text[i][j]); 18 19 } 20 21 } 22 23 for(vector<string>::size_type i = 0; i != text.size(); ++i){ 24 25 cout << text[i] << endl; 26 27 }
posted on 2013-03-19 22:42 Lattexiaoyu 阅读(209) 评论(0) 编辑 收藏 举报