C++ STL 中的 Forward_list::operator =
c++server side programmingprogramming更新于 2025/4/23 6:22:17
在本文中,我们将讨论 C++ 中 forward_list::operator = 的工作原理、语法和示例。
STL 中的 Forward_list 是什么?
前向列表是序列容器,允许在序列中的任何位置进行常量时间插入和删除操作。前向列表实现为单链表。通过将每个元素与序列中的下一个元素的链接关联来保持顺序。
什么是 forward_list::operator =?
Forward_list::operator = 用于通过替换已经存在的值来将新值分配给 forward_list 容器。此运算符还根据新值修改 forward_list 容器的大小。
语法
Forward_container1 = (forward_container2);
此函数接受相同类型的另一个 forward_list 容器。
返回值
它返回 “*this” 指针。
在下面的代码中,我们创建了两个前向列表并向其中插入元素,之后我们将使用 ‘=’ 运算符用前向列表 2 覆盖前向列表 1 的元素。
示例
#include <forward_list> #include <iostream> using namespace std; int main(){ forward_list<int> forwardList1 = {10, 20, 30 }; forward_list<int> forwardList2 = { 0, 1, 2, 3 }; forwardList1 = forwardList2; cout << "my forwardList1 after using = operator with forwardList2\n"; for (auto i = forwardList1.begin(); i != forwardList1.end(); ++i) cout << ' ' << *i; return 0; }
输出
如果我们运行上述代码,它将生成以下输出
my forwardList1 after using = operator with forwardList2 0 1 2 3
示例
在下面的代码中,我们创建了两个转发列表并向其中插入元素,之后我们将使用‘=’运算符用转发列表 2 覆盖转发列表 1 的元素。现在的主要任务是检查转发列表 2 的状态,即它是否也会发生变化
#include <forward_list> #include <iostream> using namespace std; int main(){ forward_list<int> forwardList1 = {10, 20, 30 }; forward_list<int> forwardList2 = { 0, 1, 2, 3 }; forwardList1 = forwardList2; cout << "my forwardList1 after using = operator with forwardList2\n"; for (auto i = forwardList1.begin(); i != forwardList1.end(); ++i) cout << ' ' << *i; cout << "\n my forwardList2 after using = operator with forwardList1\n"; for (auto i = forwardList2.begin(); i != forwardList2.end(); ++i) cout << ' ' << *i; return 0; }
输出
如果我们运行上述代码,它将生成以下输出
my forwardList1 after using = operator with forwardList2 0 1 2 3 my forwardList2 after using = operator with forwardList1 0 1 2 3