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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.