C++ STL 中的 deque::operator= 和 deque::operator[]
本文将讨论 C++ STL 中 deque::operator= 和 deque::operator[] 的工作原理、语法和示例。
什么是 Deque?
Deque 是双端队列,是一种序列容器,可以在两端进行扩展和收缩操作。队列数据结构只允许在尾部插入数据,在头部删除数据。例如公交车站的排队,只能在队尾添加人,队首的人先离开;而双端队列则可以在两端进行插入和删除操作。
什么是 deque::operator =?
deque::operator = 用于为 deque 容器赋值新值,替换已有的值。此操作符还会根据新值修改 deque 容器的大小。
语法
mydeque1 = mydeque2;
它需要另一个相同类型的 deque 容器。
返回值
该操作符返回要为其赋值数据的 deque 容器的 *this 指针。
示例
Input: deque<int> odd = {1, 3, 5, 7}; Deque<int> eve = {2, 4, 6}; odd = eve; Output: Odd: 2, 4, 6 Eve: 2, 4, 6
示例
#include <deque> #include <iostream> using namespace std; int main(){ deque<int> Deque_1 = { 10, 20, 30 }; deque<int> Deque_2 = { 30, 20, 10 }; deque<int> Deque_3 = {}; //it will swap the elements of both the deque Deque_3 = Deque_2; Deque_2 = Deque_1; Deque_1 = Deque_3; cout<<"Elements in Deque_1 are: "; for (auto i = Deque_1.begin(); i!= Deque_1.end(); ++i) cout << ' ' << *i; cout<<"\nElements in Deque_2 are: "; for (auto i = Deque_2.begin(); i!= Deque_2.end(); ++i) cout << ' ' << *i; return 0; }
输出
运行以上代码将生成以下输出:
Elements in Deque_1 are: 30, 20, 10 Elements in Deque_2 are: 10 20 30
什么是 deque::operator []?
deque::operator [] 用于访问指定位置的元素。此操作符返回 [] 中给定位置处元素的引用。其工作方式类似于 deque::at()。当请求的元素位置超出容器范围时,操作符会抛出 out_of_range 异常。deque 容器的位置从 0 开始。
语法
mydeque[postion];
它需要要获取的位置。
返回值
此操作符返回指定位置处元素的直接引用。
示例
Input: deque<int> mydeque = {1, 2, 3, 4, 5, 6}; mydeque[2]; Output: 3
示例
#include <deque> #include <iostream> using namespace std; int main(){ deque<int> Deque = {10, 20, 30, 40, 50}; cout<<"Elements are : "; for (int i = 0; i < Deque.size(); ++i){ if (i % 2 != 0){ cout << Deque[i]; cout << " "; } } return 0; }
输出
运行以上代码将生成以下输出:
Elements are : 20 40
广告