deque容器-赋值操作讲解

简介: deque容器-赋值操作讲解

deque(双端队列)是C++标准模板库(STL)中的一种容器,它允许在序列的头部和尾部进行快速插入和删除操作。除了构造函数,deque还提供了多种赋值操作,使得我们可以轻松地对deque中的元素进行赋值和修改。下面,我们将对deque的赋值操作进行详细的讲解,并辅以代码示例。

 

deque的赋值操作

赋值运算符(operator=)

赋值运算符用于将一个deque对象的内容复制到另一个deque对象中。这会替换目标deque中原有的所有元素。

image.png



注意,如果deque本身是自赋值的(即赋值运算符的左侧和右侧是同一个对象),则不会发生任何操作。

 

assign成员函数

assign成员函数用于将指定数量的元素赋值给deque,或者从另一个容器或数组复制元素到deque。

image.png

assign函数会替换deque中原有的所有元素。

 

使用迭代器赋值

我们还可以通过迭代器来逐个赋值deque中的元素。这通常涉及到遍历deque并使用赋值运算符给每个元素赋值。

image.png

在上面的例子中,我们使用了迭代器来遍历deque中的每个元素,并将它们的值乘以2。

 

使用下标运算符赋值

deque支持下标运算符[],这使得我们可以像访问数组元素一样访问deque中的元素,并进行赋值操作。

image.png

需要注意的是,下标运算符不会进行边界检查,如果索引超出范围,将会导致未定义行为。因此,在使用下标运算符时,应确保索引是有效的。

 

front和back成员函数赋值

front和back成员函数分别返回指向deque第一个和最后一个元素的引用。因此,我们可以使用这些函数来获取元素的引用,并进行赋值操作。

image.png

目录
相关文章
|
26天前
|
存储 算法 编译器
8.STL中Vector容器的常见操作(附习题)
8.STL中Vector容器的常见操作(附习题)
|
4天前
|
C++ 容器
C++之评委打分案例(vector与deque容器练习)
C++之评委打分案例(vector与deque容器练习)
8 1
|
4天前
|
C++ 容器
C++之deque容器(构造、赋值、大小、插入与删除、存取、排序)
C++之deque容器(构造、赋值、大小、插入与删除、存取、排序)
5 1
|
4天前
|
C++ 容器
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
12 1
|
9天前
|
存储 算法 C++
C++一分钟之-容器概览:vector, list, deque
【6月更文挑战第21天】STL中的`vector`是动态数组,适合随机访问,但插入删除非末尾元素较慢;`list`是双向链表,插入删除快但随机访问效率低;`deque`结合两者优点,支持快速双端操作。选择容器要考虑操作频率、内存占用和性能需求。注意预分配容量以减少`vector`的内存重分配,使用迭代器而非索引操作`list`,并利用`deque`的两端优势。理解容器内部机制和应用场景是优化C++程序的关键。
20 5
|
13天前
|
算法 前端开发 Linux
【常用技巧】C++ STL容器操作:6种常用场景算法
STL在Linux C++中使用的非常普遍,掌握并合适的使用各种容器至关重要!
38 10
|
4天前
|
算法 C++ 容器
C++之vector容器操作(构造、赋值、扩容、插入、删除、交换、预留空间、遍历)
C++之vector容器操作(构造、赋值、扩容、插入、删除、交换、预留空间、遍历)
11 0
|
4天前
|
Docker 容器
Docker镜像、容器操作
Docker镜像、容器操作
23 0
|
29天前
|
存储 索引 Python
Python数据容器的切片操作详解
Python数据容器的切片操作详解
17 1
|
1月前
|
C++ 容器
黑马c++ STL部分 笔记(3) deque容器
黑马c++ STL部分 笔记(3) deque容器