zoukankan      html  css  js  c++  java
  • vector

    这里记录一下vector支持的操作,最近看到了好多花里胡哨的。


    1.v.push_back(x):在末尾添加一个元素x.


    2.v.size():以无符号形式返回vector的大小


    3.v.clear():清空vector.


    4.v.pop_back():删除最后一个元素。


    5.v.emplace_back(x):这个就比较奇特了,主要用于卡常数。当你往vector里面放一个构造类型的变量时,如果用push_back()的话,在声明的时候会调用一次构造函数,放进vector的时再调用一次拷贝构造函数。而emplace_back()只调用一次构造函数,省去了大概一半的常数时间。
    需要注意的是,需要c++11支持。


    6.初始化:vector的初始化方法有好多种。
    (1)vector<int> v:默认初始化,大小为空。
    (2)vector<int> v = v2:v2和v必须为同类型的vector,用v2对v进行初始化。这里也可以看出vector支持整体的赋值。也可以写成vector<int> v(v2)
    (3)vector<int> v = {1, 2, 3}:将v的前三个元素分别对应赋值。若类型不一样,会自动进行类型转换(开了-Wall时会有Warning)。
    (4)vector<int> v(n):将v的初始大小设置为n,默认是0.
    (5)vector<int> v(n, m):将v的初始大小设置为n,每一个元素的值是m。
    所以如果有一个vector<vector<int> > v,即一个二维vector,那么可以这样初始化:vector<vector<int> > v(n, vector<int>(m, a)):表示将v初始化为一个n行m列,初值为a的表格。这个在交互题里比较常见。

  • 相关阅读:
    shell 脚本学习笔记1
    手把手教你uiautomator_android自动化测试第一个示范
    ubuntu设置环境变量
    albert1017 Linux下压缩某个文件夹(文件夹打包)
    /proc/sysrq-trigger详解
    Android攻城狮学习笔记—入门篇二
    Android攻城狮学习笔记—入门篇一
    《移动App测试实战》读书笔记
    Linux-Ubuntu
    Android-应用性能测试
  • 原文地址:https://www.cnblogs.com/mrclr/p/14099934.html
Copyright © 2011-2022 走看看