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

更新于:2020年1月20日

533 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告