首页 > 编程语言 >二、c++容器学习vector

二、c++容器学习vector

时间:2023-09-04 22:11:12浏览次数:48  
标签:std 容器 10 c++ vector 数组 vectornVec test

1、Vector介绍

1.1vector基本概念

vector与普通数组区别:不同区别是数组是静态空间,而vector可以是动态扩展。

动态扩展:并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原始数据拷贝新空间,释放原空间。

vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。

vector中文偶尔译作“容器”,但并不准确。它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。

向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组

1.2功能: vector数据结构和数组非常相似,也称为单端数组。

vector<int> test;//建立一个vector

test.push_back(1);

test.push_back(2);//把1和2压入vector test[0]就是1,test[1]就是2

2、std::vector使用

2.1小常识

使用vector,需添加头文件#include<vector>,
要使用sort或find,则需要添加头文件#include<algorithm>

2.2vector的初始化及赋值

std::vector<int>nVec; //空对象

std::vector<int>nVec(5,-1); //创建了一个包含5个元素且值为-1的vector

std::vector<std::string>strVec{"a","b","c"}; //列表初始化

"()" 和 "{}"

std::vector<int>nVec(10,1); //包含10个元素,且值为1;

std::vector<int>nVec{10,1}; //包含两个元素,值分别为10,1


标签:std,容器,10,c++,vector,数组,vectornVec,test
From: https://blog.51cto.com/u_16244389/7354678

相关文章

  • [C++] std::optional与RVO:最高效的std::optional实践与探究
    返回值优化RVO在cppreference中,是这么介绍RVO的Inareturnstatement,whentheoperandisthenameofanon-volatileobjectwithautomaticstorageduration,whichisn'tafunctionparameteroracatchclauseparameter,andwhichisofthesameclasstype(igno......
  • 线程池至少需要线程数——23秋招招行网络科技第一批技术测评_后端(c++)
    题目:有n个计划,每个计划有开始,结束时间,求线程池最少需要多少个线程?例:输入:2,[[1,2],[3,4]],输出:1输入:2, [[1,3],[2,4]],输出:2 思路:贪心算法PS:其实我不是很理解下面代码第11行,分别对a,b数组排序1#include<bits/stdc++.h>2usingnamespacestd;34intma......
  • 解释C++中类的不同成员类型和成员列表的含义--GPT
    C++定义的class的PublicMemberFunctions|StaticPublicMemberFunctions|PublicAttributes|StaticPublicAttributes|StaticProtectedAttributes|Listofallmembers都是什么意思?GPT:在C++中,一个类(class)可以定义多种类型的成员,这些成员包括函数(成员函数)和变......
  • C++语言学习08
    一、智能指针常规指针的缺点:当一个常规指针离开了作用域时,只有该指针变量本身占用的内存空间(4/8字节)会被释放,而它指向的内存空间不会自动释放,当free\delete\delete[]语句忘记执行或者无法执行,形成内存泄露(如何定位哦内存泄露、如何预防内存泄露)智能指针的优点:智能指......
  • STL标准模板之容器
    一、vector向量容器头文件:#include<vector>采用顺序结构存储数据,可以使用下标进行随机访问,有时候也叫数组容器(C++11中增加了array容器,定长数组容器,相比普通数组它是类类型,增加成员函数,提高安全性)vector是可变长的顺序表结构,可以自动扩容,容器中的元素存储在连续内存,支......
  • ECI (Elastic Container Instance) 弹性容器实例
    弹性容器实例ECI(ElasticContainerInstance)是阿里云在云原生时代为用户提供的基础计算服务,是阿里云云原生时代下的云计算基础设施。ECI改变了以往计算服务以整台机器作为交付形态的传统,通过结合容器技术与无服务器(Serverless)技术为用户提供了一款安全便捷的Serverles......
  • C++11——3.21-3.22 move,forward
    ★★★原文链接★★★:https://subingwen.cn/cpp/move-forward/3.21move资源的转移3.22forward完美转发3.21move资源的转移move方法可以将左值转换为右值使用这个函数并不能移动任何东西,它将一个对象的所有权从这个对象转移到另一个对象,只是转移,没有内存拷贝。move语......
  • 如何通过C++开发高效的机器人控制程序
    如何通过C++开发高效的机器人控制程序导语:随着人工智能和机器人技术的不断发展,机器人控制程序的开发变得越来越重要。本文将介绍如何使用C++语言开发高效的机器人控制程序,并提供一些代码示例。一、了解机器人的控制原理在开始开发机器人控制程序之前,首先需要了解机器人的控制原......
  • 《c++高级编程》笔记--内存管理
    作者:fbysss关键字:C++内存管理《c++高级编程》笔记1.new关键字使用关键字new时,内存是在堆(heap)里分配的,不使用new,内存是在堆栈(stack)分配的。句柄handle一般用来描述一个指针的指针。之所以使用“句柄”,是因为句柄允许底层软件在必要时移动内存。使用new的时候,会返回一个指针,并且......
  • C++11——3.17-3.20 右值引用
    ★★★原文链接★★★:https://subingwen.cn/cpp/rvalue-reference/3.17.右值和右值引用3.18.右值引用的作用以及使用3.19.未定引用类型的推导3.20.右值引用的传递3.17.右值和右值引用左值,lvalue,locatorvalue,(locator:定位器)右值,rvalue,readvalue,(read:只读)右值分为纯......