zoukankan      html  css  js  c++  java
  • C++ vector用法

    C++ vector用法

    转至菜鸟教程<C++ vector 容器浅析>

    一、什么是vector

    vector是一个封装了动态大小数组的顺序容器,它能够存放各种类型的对象。

    二、基本函数实现

    1. 构造函数
      • vector()创建一个空vector
      • vector(int nsize)创建一个vector元素个数为nsize。
      • vector(int nsize, const t& t)创建一个vector,元素个数为nsize,且值为t。
      • vector(const vector&)复制构造函数
      • vector(begin, end)复制[begin,end]区间内到另一个数组的元素到vector中
    2. 增加函数
      • void push_back(const T& x):向尾部增加一个元素X
      • iterator insert(iterator it, const T& x)向指定元素前增加一个元素。
      • iterator insert(iterator it, int n, const T& x)项指定元素前增加n个相同的元素x
      • iterator insert(iterator it,const_iterator first,const_iterator last):向量中迭代器指向元素前插入另一个相同类型向量的[first,last)间的数据
    3. 删除函数
      • iterator erase(iterator it)删除指定元素
      • iterator erase(iterator first, iterator last)删除(first, last)中元素
      • void pop_back()删除最后一个元素
      • void clear()清空所有元素
    4. 遍历函数
      • reference at(int pos):返回pos位置元素的引用
      • reference front():返回首元素的引用
      • reference back():返回尾元素的引用
      • iterator begin():返回向量头指针,指向第一个元素
      • iterator end():返回向量尾指针,指向向量最后一个元素的下一个位置
      • reverse_iterator rbegin():反向迭代器,指向最后一个元素
      • reverse_iterator rend():反向迭代器,指向第一个元素之前的位置
    5. 判断函数
      • bool empty() const:判断向量是否为空,若为空,则向量中无元素
    6. 大小函数
      • int size() const:返回向量中元素的个数
      • int capacity() const:返回当前向量所能容纳的最大元素值
      • int max_size() const:返回最大可允许的vector元素数量值
    7. 数组指针
      • T* data():返回数组的首地址

    vector大部分成员函数的使用都比较简单,这里介绍一下T* data()的使用,可以用来拼接数组。

    ::vector<char> v;
    	v.push_back('a');
    	v.push_back('b');
    	char cs = 's';
    	v.push_back(cs);
    	char *d = new char('v');
    	v.push_back(*d);
    	char *ch = v.data();//获取vector中数组的首地址
    	char *dst = new char[v.size()];
    	memset(dst, 0, v.size());
    	memcpy_s(dst, v.size(), ch, v.size());//拷贝到dst数组
    
  • 相关阅读:
    MyEclipse 2016CI破解版for Mac
    关于Mac系统中my sql 和navicat for mysql 的连接问题。
    二分总结
    递推总结
    区间DP学习笔记 6/20
    搜索考试
    模板整理
    防线 2020/3/31
    JS 循环遍历JSON数据
    pm am 12小时格式化
  • 原文地址:https://www.cnblogs.com/zzr-stdio/p/14441360.html
Copyright © 2011-2022 走看看