无涯教程-C++ List - emplace()函数

160 阅读1分钟

C++ List emplace()函数在指定位置插入新元素,并且列表的大小增加一。

emplace - 语法

iterator emplace(iterator pos, value_type val);

emplace - 参数

pos    -  它定义了要插入新元素的位置。

val     -   要在指定位置插入新值。

emplace - 返回值

它返回一个指向新构造元素的迭代器。

emplace - 例子1

让我们看一个简单的示例,将新元素插入列表之间。

#include <iostream>
#include<list>
using namespace std;
int main()
{
  list<char> li={j,v,a};
  list<char>::iterator itr=li.begin();
  ++itr;
  li.emplace(itr,a);
  for(itr=li.begin();itr!=li.end();++itr)
  cout<<*itr;
  return 0;
}

输出:

java

在此示例中,emplace()函数在第二个位置添加了新字符

emplace - 例子2

让我们看一个简单的示例,将新元素添加到列表的末尾。

#include <iostream>
#include<list>
using namespace std;
int main()
{
  list<string> li={"java","is","a"};
  list<string>::iterator itr;
  li.emplace(li.end(),"programming language");
 for(itr=li.begin();itr!=li.end();++itr)
  cout<<*itr<<" ";
  return 0;
 
}

输出:

java is a programming language 

在此示例中,emplace()函数在列表的末尾添加了新字符串,即"编程语言"。

参考链接

www.learnfk.com/c++/cpp-lis…