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

     

     

     

     

  • 相关阅读:
    NET CORE 数据库迁移
    VUE3.0 解析svg文件
    关于ElementUI的样式不生效
    git命令
    vue 2.x的跨域问题
    Putty 重新启动 linux sqlserver服务
    aspnetcore之session
    Syncfusion 在 core 的架构
    TortoiseSVN创建/合并分支
    正则表达式知识点整理
  • 原文地址:https://www.cnblogs.com/Lattexiaoyu/p/2970176.html
Copyright © 2020-2023  润新知