C++ primer: C++标准库中vector类模板

C++ primer读书笔记)2013.3.19 zzy @Library4D

vector是同一种类型对象的集合,每个对象都有一个对应的整数索引值。vector称为容器。使用前包含vector头文件,并对名字vectorusing申明。

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::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 }

原文链接: https://www.cnblogs.com/Lattexiaoyu/archive/2013/03/19/2970176.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/81166

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午7:55
下一篇 2023年2月9日 下午7:56

相关推荐