C++ 堆栈库 - emplace() 函数


描述

C++ 函数std::stack::emplace()构造新元素并将其插入到堆栈顶部。新元素被插入到某个位置,即不执行复制或移动操作。

宣言

以下是 std::stack::emplace() 函数形式 std::stack 标头的声明。

C++11

template <class... Args> 
void emplace (Args&&... args);

参数

args - 转发参数以构造新元素

返回值

没有任何

例外情况

取决于底层容器。

时间复杂度

常数即 O(1)

例子

以下示例显示了 std::stack::emplace() 函数的用法。

#include <iostream>
#include <stack>

using namespace std;

int main(void) {
   stack<int> s;

   for (int i = 0; i < 5; ++i)
      s.emplace(i + 1);

   while (!s.empty()) {
      cout << s.top() << endl;
      s.pop();
   }

   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果 -

Stack contents are
5
4
3
2
1
堆栈.htm