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

yizhihongxing

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日

相关文章

  • 苹果iOS9.3.3 Beta1开发者预览版(13G12)发布 修复bug

    苹果iOS9.3.3 Beta1开发者预览版(13G12)发布 修复bug攻略 什么是iOS9.3.3 Beta1开发者预览版(13G12)? iOS9.3.3 Beta1开发者预览版(13G12)是Apple发布的测试版本,专为开发者开发和测试使用,目的在于对iOS进一步完善和优化,并修复一些bug。 如何获取iOS9.3.3 Beta1开发者预览版(13…

    other 2023年6月26日
    00
  • markdownpad2下载安装教程

    MarkdownPad2下载安装教程 MarkdownPad2是一款Windows平台上的Markdown编辑器,它提供了一套完整的Markdown编辑和预览功能,支持实时预览、自定义样式、代码高亮等功能。本文将提供一个完整攻略,介绍MarkdownPad2的下载安装方法和注意事项,并提供两个示例说明。 下载安装方法 可以按照以下步骤下载和安装Markdow…

    other 2023年5月8日
    00
  • qq语音视频聊天没有声音(对方听不到我的声音)的解决方案

    qq语音视频聊天没有声音的解决方案 如果在使用QQ语音视频聊天时出现对方听不到我的声音的情况,可能是以下原因造成的: 电脑麦克风或扬声器的设置有误。 QQ软件设置有误。 系统设置中麦克风或扬声器被禁用。 接下来,我们将分别介绍以上三种情况的解决方案。 电脑麦克风或扬声器的设置有误 如果电脑麦克风或扬声器的音量过小,或者麦克风被关闭,就会出现对方听不到你的声音…

    other 2023年6月26日
    00
  • canvas基础之旅

    canvas基础之旅 什么是Canvas? Canvas是HTML5提供的一个绘图API,它可以通过JavaScript在网页上绘制各种图形,如线条、矩形、圆形、文本等。Canvas拥有跨浏览器、跨平台的特性,并且支持动画、效果等复杂的绘图操作。 Canvas的基本用法 Canvas的用法很简单,只需在HTML文件中创建一个canvas元素,然后使用Java…

    其他 2023年3月28日
    00
  • Docker 部署分布式搜索引擎 Elastic Search的详细过程

    下面我来为你详细讲解“Docker 部署分布式搜索引擎 Elastic Search的详细过程”。 什么是 Elastic Search Elastic Search 是一个分布式的、可扩展的全文搜索引擎,可以帮助我们快速地索引、搜索数据。它基于Lucene搜索引擎构建,提供了 RESTful API 接口,可以对数据进行复杂的搜索。 Docker 安装 E…

    other 2023年6月27日
    00
  • echart中的itemstyle如何设置

    以下是ECharts中的itemStyle如何设置的完整攻略: 什么是itemStyle? itemStyle是ECharts中的一个配置项,用于设置表中各种图形元素的样式,包括颜色边框、阴影、透明度等。 步骤1:设置全局样式 可以使用ECharts的setOption方法设置全局样式,例如: option = { // 设置全局样式 textStyle: …

    other 2023年5月6日
    00
  • C语言的编程之美之内存函数

    C语言的编程之美之内存函数 前言 在C语言中,内存函数是常用的函数之一,它们用于操作内存,包括内存拷贝、内存移动、内存比较等等。本文将介绍几个常用的内存函数,并提供相应实例。 内存拷贝函数 – memcpy() memcpy()函数用于将某一段内存区域的内容拷贝到另一段内存区域中,可以用于拷贝任意类型的数据到任意位置。其函数原型如下: void *memcp…

    other 2023年6月27日
    00
  • Angular使用ControlValueAccessor创建自定义表单控件

    下面是详细讲解”Angular使用ControlValueAccessor创建自定义表单控件”的完整攻略。 概述 在 Angular 应用中,表单控件是很常见的组件,但是有时候我们需要自定义一些表单控件,如何实现呢? Angular 提供了一种轻松自定义表单控件的方式,使用 ControlValueAccessor 接口。 ControlValueAcces…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部