📜  C++ STL-Deque. emplace()函数(1)

📅  最后修改于: 2023-12-03 15:13:55.417000             🧑  作者: Mango

C++ STL-Deque.emplace()函数

在C++ STL(标准模板库)中,deque是一种双端队列,它提供了一组强大的函数来管理数据。

其中一个函数是emplace()函数,它允许我们在deque的两端插入元素。 在本文中,我们将学习如何使用C++ STL deque.emaplace()函数。

C++ STL Deque

在deque中,我们可以在队列的前面和后面添加或删除元素。 deque支持以下操作:

  • push_front() - 在队列的前面添加一个元素
  • push_back() - 在队列的后面添加一个元素
  • pop_front() - 从队列的前面删除一个元素
  • pop_back() - 从队列的后面删除一个元素

除了上述操作之外,在deque中我们还可以使用emplace()函数插入元素

C++ STL Deque.emplace() 函数

emplace()函数是C++ STL deque中一个非常有用的函数,它可以在deque的前面或后面插入一个元素。与push_back()和push_front()函数不同的是,emplace()函数允许我们直接传递参数来创建新元素,而不是只能传递一个元素值。

#include <iostream>
#include <deque>

using namespace std;

int main()
{
  deque<int> mydeque {1, 2, 3};
  mydeque.emplace_front(0);
  mydeque.emplace_back(4);

  for (auto it = mydeque.begin(); it != mydeque.end(); ++it)
    cout << *it << " ";

  return 0;
}

在上面的示例中,我们创建了一个deque对象,添加了三个元素-1、2和3。之后,我们使用emplace_front()函数在deque的前面添加了一个值为0的元素,并使用emplace_back()函数在deque的末尾添加了一个值为4的元素。

需要注意的是,emplace() 不返回新加入元素的迭代器,因此emplace()无法在deque中间插入元素。

总结

C++ STL deque提供了多种添加、删除元素的操作,并且还有一个非常有用的emplace()函数,允许我们在deque的前面和后面插入元素。相比其他添加元素函数,emplace()函数更加灵活,因为我们可以直接传递参数来创建新的元素。