vector的几种初始化及赋值方式

Vector的几种初始化及赋值方式

在C++中,vector是一个非常常用的容器,它可以动态地增加和减少元素,类似于数组,但是不需要提前预留空间,更加灵活方便。本文将介绍vector的几种初始化及赋值方法。

声明并初始化

当我们声明一个vector变量时,需要指定元素的数据类型,如:

vector<int> vec;

此时vec是一个空的vector,如果需要对其进行初始化,可以通过以下方式:

指定大小并赋初值

可以使用vector<int> vec(n, value)语句创建一个大小为n的vector,其中所有元素都被初始化为value。

vector<int> vec(5, 2); // vec=[2,2,2,2,2]

直接赋值初始化

使用大括号可以直接赋予一组初值:

vector<int> vec = {1, 2, 3, 4};

或者:

vector<int> vec{1, 2, 3, 4};

使用其他vector来初始化

可以将一个vector复制到另一个vector中:

vector<int> vec1 = {4, 6, 8, 10};
vector<int> vec2 = vec1; // vec2=[4,6,8,10]

赋值操作

使用等号赋值

使用等号可以将一个vector赋值给另一个vector:

vector<int> vec1 = {1, 2, 3};
vector<int> vec2 = {4, 5, 6}; 
vec1 = vec2; // vec1=[4,5,6], vec2=[4,5,6]

使用assign()函数赋值

使用assign()函数可以将一个vector的元素赋值给另一个vector:

vector<int> vec1 = {1,2,3};
vector<int> vec2 = {4,5,6};
vec1.assign(vec2.begin(), vec2.end()); //vec1=[4,5,6]

总结

vector是一个十分便利的容器,使用它可以轻松地进行可变长数组的操作,使用其中的几种初始化及赋值方法能够进一步提高程序的效率,增强程序的可维护性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vector的几种初始化及赋值方式 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • buck电路工作原理

    buck电路工作原理 Buck电路是一种常用的直流电源电路,它被广泛应用于电子设备中。本文将介绍Buck电路的工作原理及应用。 Buck电路的工作原理 Buck电路的主要组成部分是电感、二极管、开关管和电容。当开关管导通时,输入电压通过电感和二极管被存储到电容中。当开关管关闭时,电容中的电能将被传输到负载电路中,实现降压效果。 具体来说,当开关管导通时,电压…

    其他 2023年3月28日
    00
  • Win10内存要求是什么?win10配置要求是什么?

    Win10内存要求 Windows 10是微软最新的操作系统,它有一些内存要求,以确保系统能够正常运行。以下是Win10的内存要求: 32位系统:至少需要1GB的内存。 64位系统:至少需要2GB的内存。 这些是最低要求,如果你想获得更好的性能和流畅度,建议你拥有更多的内存。例如,对于64位系统,8GB或更多的内存将使系统更加高效。 Win10配置要求 除了…

    other 2023年8月2日
    00
  • 通过Spring Boot + Mybatis + Redis快速搭建现代化Web项目

    以下是通过Spring Boot + Mybatis + Redis快速搭建现代化Web项目的完整攻略: 步骤1:创建Spring Boot项目 使用Spring Initializr创建一个新的Spring Boot项目。 添加所需的依赖,包括Spring Boot、Mybatis和Redis。 步骤2:配置数据库和Redis连接 在application…

    other 2023年10月17日
    00
  • springboot—mongodb

    Spring Boot + MongoDB Spring Boot是一种流行的Java框架,它提供了许多方便的功能来简化开发过程。MongoDB是一种流行NoSQL数据库,它提供了高性能和可扩展性。本文将介绍如何在Spring Boot中使用MongoDB,并提供两个示例说明。 步骤一:添加依赖 首先,我们需要在pom.xml文件中添加MongoDB的依赖:…

    other 2023年5月9日
    00
  • 详解Java继承中属性、方法和对象的关系

    关于“详解Java继承中属性、方法和对象的关系”的攻略,我将从以下几个方面进行讲解: 继承的概念及特点 继承中属性的关系及访问方式 继承中方法的关系及重写方式 继承中对象的关系及实例化方式 示例说明 1. 继承的概念及特点 继承是面向对象编程中的一种重要机制,它允许定义一个类,该类继承自另一个已经存在的类,从而继承其属性和方法。继承的特点主要包括以下几个方面…

    other 2023年6月27日
    00
  • vue如何封装自己的Svg图标组件库(svg-sprite-loader)

    封装自己的Svg图标组件库可以让我们在项目中更加方便地使用图标,同时也提高了代码的复用性。下面是封装Svg图标组件库(svg-sprite-loader)的完整攻略及示例说明: 1. 安装依赖 首先,我们需要安装一些依赖: npm install svg-sprite-loader -D npm install svg4everybody -S svg-sp…

    other 2023年6月25日
    00
  • 如何查看Win11系统是32位还是64位呢?

    要查看Windows 11系统是32位还是64位,可以按照以下步骤进行操作: 打开“设置”:点击任务栏上的“开始”按钮,然后点击“设置”图标(齿轮状图标)。 进入“系统”设置:在“设置”窗口中,点击左侧导航栏中的“系统”选项。 查看系统信息:在“系统”设置页面中,向下滚动,找到并点击“关于”选项。 查看系统类型:在“关于”页面中,可以看到系统的详细信息,包括…

    other 2023年7月28日
    00
  • vue中select的使用以及select设置默认选中

    Vue中select的使用以及select设置默认选中 Vue是一款流行的JavaScript库,主要用于构建单页应用程序(SPA),而其中的模板语法和组件系统更是让开发人员的网页开发变得更为简洁、高效。 在Vue中,Select是用于从预定义选项中选择一个或多个值的表单控件。在此篇文章中,我们将介绍如何使用Vue中的Select,以及如何设置Select的…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部