C++ STL中的forward_list::operator=
在C++ STL中,forward_list实现了单向链表。从C++11开始,与其他容器相比,forward_list对于插入,删除和移动操作(如sort)更加有用,并且允许元素的时间常数插入和删除。它与list的区别在于,forward_list仅跟踪下一个元素的位置,而list同时跟踪上一个和下一个元素的位置。
forward_list::operator=
此运算符用于通过替换现有内容来为容器分配新内容。它还根据新内容修改大小。
语法:
forwardlistname1 = (forwardlistname2)
参数:
与另一个同类型的容器。
结果:
将参数中的容器的内容分配给运算符左边的容器。
示例:
输入:myflist1 = 1, 2, 3
myflist2 = 3, 2, 1, 4
myflist1 = myflist2;
输出:myflist1 = 3, 2, 1, 4
输入:myflist1 = 2, 6, 1, 5
myflist2 = 3, 2
myflist1 = myflist2;
输出:myflist1 = 3, 2
错误和异常
1.如果容器的类型不同,则会抛出错误。
2.否则它具有基本的无异常抛出保证。
// CPP program to illustrate
// Implementation of = operator
#include <forward_list>
#include <iostream>
using namespace std;
int main()
{
forward_list<int> myflist1{ 1, 2, 3 };
forward_list<int> myflist2{ 3, 2, 1, 4 };
myflist1 = myflist2;
cout << "myflist1 = ";
for (auto it = myflist1.begin(); it != myflist1.end(); ++it)
cout << ' ' << *it;
return 0;
}
输出:
myflist1 = 3 2 1 4