C++ STL 中的 list emplace() 函数
本任务演示 C++ 中 list emplace() 函数的工作原理。
list::emplace() 函数是 C++ 标准模板库的一部分。它用于在用户指定的位置插入列表中的值。
需要包含``头文件才能调用此函数。
语法
List_Name.emplace(position,element)
参数
此函数接受两个参数:
第一个是**位置**,表示要放置新元素的位置;第二个是**值**,表示要插入到列表中该位置的元素。
返回值
该函数返回一个指向新插入元素的迭代器。
示例
Input: list<int> L = { 1,2,3 } Output: 6 1 2 3
**解释:**这里我们创建了一个类型为 int 的列表“L”,其值为 1、2 和 3。然后我们创建了对象“itr”,它将作为我们的迭代器,因为 emplace 函数返回一个迭代器。我们选择了列表的起始位置来放置新元素,这由第一个参数表示。我们的第二个参数是 6,它将是添加的新元素,生成的输出为 6 1 2 3。
下面程序中使用的步骤如下:
- 首先创建一个类型为 int 的列表,我们称之为“Lt”,并为其赋值。
- 然后创建一个 auto 类型的对象“itr”,并通过调用 emplace 函数对其进行初始化。“itr”将是接收 emplace() 函数返回值的迭代器。
- 然后为函数提供参数,例如,第一个参数将是 Lt.end() 以选择列表的结束位置,第二个参数为任意值,例如 7。
算法
Start Step 1->In function main() Initialize list<int> Lt={} Initialize auto itr=Lt.emplace(Lt.end(),7) Loop For itr=Lt.begin() and itr!=Lt.end() and itr++ Print *itr Stop
示例
#include <iostream> #include<list> using namespace std; int main() { list<int> Lt = { 3,4,5 }; auto itr = Lt.emplace(Lt.begin(),7); Lt.emplace(itr,6); cout << "The List is: "; for (itr = Lt.begin(); itr != Lt.end(); itr++) cout << *itr << " "; return 0; }
输出
如果运行上述代码,将生成以下输出:
The List is: 6 7 3 4 5
广告