C++ STL中的forward_list emplace_after()和emplace_front()
- forward_list::emplace_after()是C++ STL中的一个内置函数,用于在指定位置的元素之后插入一个新元素。这个新元素的插入将会增加容器的大小。
语法:
forward_list_name.emplace_after(iterator position, elements)
参数:该函数接受两个必需参数,如下所述:
- position: 它指定了一个迭代器,该迭代器指向在其后插入新元素的容器的位置。
- element: 指定要在位置之后插入的新元素。
返回值:该函数返回一个指向新插入元素的迭代器。
下面的程序说明了上述函数:
// C++ program to illustrate the
// forward_list::emplace_after() function
#include <forward_list>
#include <iostream>
using namespace std;
int main()
{
forward_list<int> fwlist = { 1, 2, 3, 4, 5 };
auto it_new = fwlist.before_begin();
// use of emplace_after function
// inserts elements at positions
it_new = fwlist.emplace_after(it_new, 8);
it_new = fwlist.emplace_after(it_new, 10);
// cout << "The elements are: "
for (auto it = fwlist.cbegin(); it != fwlist.cend(); it++) {
cout << *it << " ";
}
return 0;
}
输出:
The elements are: 8 10 1 2 3 4 5
- forward_list::emplace_front()是C++中的内置函数,用于在forward_list的第一个元素之前插入一个新元素。这将增加容器的大小。
语法:
forward_list_name.emplace_front(elements)
参数:该函数接受一个必需参数element,该参数将在容器的开头插入。
返回值:它没有返回值。
下面的程序说明了上述函数。
// C++ program to illustrate the
// forward_list::emplace_front() function
#include <forward_list>
#include <iostream>
using namespace std;
int main()
{
forward_list<int> fwlist = { 1, 2, 3, 4, 5 };
// use of emplace_front function
// inserts elements at front
fwlist.emplace_front(8);
fwlist.emplace_front(10);
cout << "Elements are: ";
// Auto iterator
for (auto it = fwlist.cbegin(); it != fwlist.cend(); it++) {
cout << *it << " ";
}
return 0;
}
输出:
Elements are: 10 8 1 2 3 4 5