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

相关文章