c++vector容器-赋直操作讲解

简介: c++vector容器-赋直操作讲解

std::vector 是 C++ 标准模板库(STL)中的一个动态数组容器,它提供了在内存中连续存储一系列同类型元素的能力。对于 std::vector,赋值操作是一个常见的操作,它允许我们将一个向量的内容复制到另一个向量中。下面我们将详细讲解 std::vector 的赋值操作,并附上代码示例和讲解,以满足 1500 字的要求。

 

一、使用赋值运算符进行赋值

赋值运算符 = 是最直接的方式来赋值一个 std::vector。当使用赋值运算符时,右侧向量的内容会被复制到左侧向量中,如果左侧向量之前已有内容,则这些内容会被新内容替换。

 

代码示例

image.png image.png

讲解

在这个例子中,我们首先创建了一个包含五个元素的 vec1,然后创建了一个空的 vec2。接着,我们使用赋值运算符 = 将 vec1 的内容赋给 vec2。此时,vec2 包含了与 vec1 相同的内容。随后,我们修改了 vec1 的第一个元素,但 vec2 的内容没有受到影响,这是因为赋值操作执行的是深拷贝,即创建了原始向量内容的副本。

 

二、使用 assign 成员函数进行赋值

除了使用赋值运算符,我们还可以使用 assign 成员函数来赋值 std::vector。assign 成员函数提供了更多的灵活性,它允许我们根据迭代器范围、数组或其他容器来赋值。

 

代码示例

image.png image.png

讲解

在这个例子中,我们首先使用 assign 成员函数将 vec1 的内容赋给 vec2。然后,我们创建了一个 std::list 类型的容器 list1,并再次使用 assign 函数将 list1 的

目录
相关文章
|
30天前
|
存储 C++ 容器
【C++】vector的底层剖析以及模拟实现
【C++】vector的底层剖析以及模拟实现
|
1月前
|
设计模式 程序员 C++
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
259 2
|
20天前
|
人工智能 机器人 C++
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
|
1月前
|
存储 JSON 安全
【C++ JSON库 json值的创建手段】深入探究C++中JSON对象定位与操作:从引用到回调函数
【C++ JSON库 json值的创建手段】深入探究C++中JSON对象定位与操作:从引用到回调函数
66 0
|
4天前
|
存储 缓存 编译器
【C++进阶(五)】STL大法--list模拟实现以及list和vector的对比
【C++进阶(五)】STL大法--list模拟实现以及list和vector的对比
|
4天前
|
编译器 C++
【C++进阶(三)】STL大法--vector迭代器失效&深浅拷贝问题剖析
【C++进阶(三)】STL大法--vector迭代器失效&深浅拷贝问题剖析
|
16天前
|
存储 算法 编译器
【C++初阶】STL详解(三)vector的介绍与使用
【C++初阶】STL详解(三)vector的介绍与使用
34 0
|
16天前
|
存储 编译器 C++
【C++初阶】STL详解(四)vector的模拟实现
【C++初阶】STL详解(四)vector的模拟实现
45 1
|
21天前
|
存储 编译器 C++
【C++初阶】10. vector的使用及模拟实现
【C++初阶】10. vector的使用及模拟实现
51 1
|
26天前
|
C语言 C++
C/C++文件读取操作
C/C++文件读取操作