首页 > 其他分享 >vector容器

vector容器

时间:2022-10-20 12:33:29浏览次数:37  
标签:容器 capacity 元素 v2 vector 空间 size

 动态数组是指会自动扩充空间,其采用的也是动态内存。

空间达到上限,添加元素时:

若后面还有未被使用的动态内存空间,则会在后面继续扩充。

但是如果,后面没有未被使用过的动态内存就不是直接扩充了。而是重新开辟一块更大的空间,将原来的元素值拷贝到

更大的那块空间内,并加上新加入的元素值。

 

 

 默认构造函数的元素个数(size)为0,所占内存空间(capacity)为0。因此:

在默认构造的容器中(比如v1)插入数据后,size和capacity不一定相同。

 vector<int>  v2(10);  //构造时就分配空间,size和capacity相等,同时插入十个元素,元素的值都为0.

 vector<int> v2(10, 666); //构造,且将值都赋值为666

vector<int> v3(v2);  //拷贝构造函数

vector<int> v4(v2.begin()+3, v2.end());  //v2.begin()是迭代器,本质是指针。选取这段区间来构造。

int test[ ] = {1, 2, 3, 4, 5};   vector<int> v5(test, test+2);   //只传入 1, 2 两个元素。

 

 

赋值的时候,capacity不一定会和size一起改变。原本capacity很大时,赋值一个在capacity范围内的多个元素时,

仅仅是size改变,capacity并不会改变。(不会重新开辟新空间。)

 

 

 

 

返回类型为空, int && _Val是指对右值的引用,这是c++11新特性。

 

 

 

 

 

 

 

 

 

 

 

标签:容器,capacity,元素,v2,vector,空间,size
From: https://www.cnblogs.com/ylww/p/16707448.html

相关文章

  • docker容器报x509:certificate signed by unknown authority错误
    在执行dockersearch,dockerpull命令时,我遇到的报错信息Errorresponsefromdaemon:Get"https://registry-1.docker.io/v2/":x509:certificatesignedbyunknowna......
  • Panel容器
    Panel容器的作用,可以呈放其他控件的容器属性:Anchor,Dock 知识点1:实现如下功能,学习动态添加控件和遍历控件的方法。   代码:usingSystem;usingSystem.Collec......
  • 创建容器镜像:如何编写正确、高效的Dockerfile
    镜像的内部机制是什么镜像是一个打包文件,里面包含了应用程序和依赖的环境,例如:文件系统、环境变量和配置参数等。环境变量和配置参数比较简单一个manifest清单就可以管理,......
  • IOC--DI--自定义容器
    publicclassXXXContainer:IXXXContainer{//ContainerDicationary保存抽象与细节的映射类型privateDictionary<string,Type>XXXContainerDicationa......
  • 使用Docker将容器打成镜像的方法步骤
    1.容器打成镜像Docker提供了 commit 命令支持将容器重新打成镜像文件,其命令格式如下所示dockercommit[OPTIONS]CONTAINER[REPOSITORY[:TAG]]命令中的选项 ......
  • docker使用-03使用容器进行开发
    在本模块中,我们将逐步为先前模块中构建的应用程序建立本地开发环境。我们将使用Docker来构建镜像,并使用DockerCompose来简化所有工作。在容器中运行数据库(mysql)首先,我......
  • 安装 jenkins实现自动编译、打包、构建镜像、容器部署
      1、部署JDK maven 并进行解压重命名cd/usr/localtar-xvfjdk-8u60-linux-x64.tar.gztar-xvfapache-maven-3.3.9-bin.tar.gzmvapache-maven-3.3.9mave......
  • Kubernetes--管理Pod对象的容器(2)
    自定义运行的容器化应用由Docker镜像启动容器时运行的应用程序在相应的Dockerfile中由ENTRYPOINT指令进行定义,传递给程序的参数则通过CMD指令指定,ENTRYPOINT指令不存在时......
  • 阿里巴巴 Noslate 正式开源 - 面向云原生的 JavaScript 容器方案
    继 2019 年开源 Midway 框架之后,阿里一直在 Node.js 的前沿进行深度研究,除了加入 TC39 参与标准化建设,向上游 Node.js 项目持续贡献,与龙蜥社区合作优化之外,也在......
  • 使用docker exec进入Docker容器
    除了上面几种做法之外,docker在1.3.X版本之后还提供了一个新的命令exec用于进入容器,这种方式相对更简单一些,下面我们来看一下该命令的使用:$sudodockerexec--help接......