C++的vector容器清空

  c++内部STL库中自带了一个容器vetcor, 自带了清空方法——clear()。但是clear使用之后,并不能清空数据,其数据再未被覆盖之前是不会改变的,个人猜测clear仅仅把指针挪动到了起始位置,所以需要清空置值的话,就需要配合上resize方法,resize重分配之后是可以直接 [ ] 访问的。

   reszie有被重载过一次,有两种实现方式:

    1、void resize(std::size_t __new_size, int __x);

    2、void resize(std::size_t __new_size);

  多出来的x是想初始化后生成的数,(其实个人感觉gcc里的函数声明的原型应该是这样的 void resize(std::size_t __new_size, int __x = 0); 默x为0)

当然,也可以用循环的方式进行清空。(目前只能想到这些)

  如果想要清空二维的vetcor,那就得一行行的clear和resize。

学习不易,诸君共勉!

原文地址:https://www.cnblogs.com/daker-code/p/12008620.html

时间: 2024-10-29 20:23:12

C++的vector容器清空的相关文章

vector容器用法详解

vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组.像数组一样,vector类也用从0开始的下标表示元素的位置:但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化. vector类常用的函数如下所示: 1.构造函数 vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize vector(int nSize,const t& t):创建一个vector,元

C++ STL vector容器学习

STL(Standard Template Library)标准模板库是C++最重要的组成部分,它提供了一组表示容器.迭代器.函数对象和算法的模板.其中容器是存储类型相同的数据的结构(如vector,list, deque, set, map等),算法完成特定任务,迭代器用来遍历容器对象,扮演容器和算法之间的胶合剂. 模板类vector 在计算中,矢量(vector)对应数组,它的数据安排以及操作方式,与array非常类似.在C++中,使用vector模板类时,需要头文件包含#include<v

vector 容器迭代器(二)

vector容器迭代器(一)里面大牛对vector介绍的已经很详细了,下面结合自己的项目开发的问题谈谈使用 一.关于capacity和size[1] 在下想用数组引用的方式遍历vector中的元素,结果一直采用capacity,最后的结果就是总是出错,查了半天才知道原来这个capacity是只扩不收的,我因为 需要删除了vector(采用erase,第三部分)中的数,但是capacity没有更新,结果我按照capacity的指示寻找元素,明显就会越界 [1] ---->Size指目前容器中实际有

标准模板库(STL)学习探究之vector容器

标准模板库(STL)学习探究之vector容器  C++ Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据.为了可以使用vector,必须在你的头文件中包含下面的代码:#include <vector>构造函数. Vectors 包含着一系列连续存储的元素,其行为和数组类

vector容器中添加和删除元素

添加元素: 方法一: insert() 插入元素到Vector中 iterator insert( iterator loc, const TYPE &val ); //在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器 void insert( iterator loc, size_type num, const TYPE &val ); //在指定位置loc前插入num个值为val的元素 void insert( iterator loc, input_iterator

STL之二:vector容器用法详解

转载于:http://blog.csdn.net/longshengguoji/article/details/8507394 vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组.像数组一样,vector类也用从0开始的下标表示元素的位置:但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化. vector类常用的函数如下所示: 1.构造函数 vector():创建一个空vector vector(int nSize)

【技术向】vector容器的用法

部分转自:http://www.cnblogs.com/wang7/archive/2012/04/27/2474138.html 在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. 1. 初始化 1 vector <Elem> // 创建一个空的vector. 2 vector <Elem> c1(c2) // 复制一个vector 3 vector <Elem> c(n) // 创建一个vector,含有n个数据,数据均已缺省构造产生 4 ve

C++STL库中vector容器常用应用

#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { vector<int> vec; vec.push_back(1);//在尾部插入元素 vec.push_back(2); // cout<<vec[1];//按下标访问元素,从[0]开始 /* //使用迭代器访问元素 vector<int>::iterat

向量vector 容器浅析

一.什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为,向量是一个能够存放任意类型的动态数组. 二.容器特性 1.顺序序列 顺序容器中的元素按照严格的线性顺序排序.可以通过元素在序列中的位置访问对应的元素. 2.动态数组 支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作.操供了在序列末尾相对快速地添加/删除元素的操作. 3.能够感知内存分配器的