Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

stack::emplace

公共成员函数   <stack>

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

构造并且插入元素

在栈的顶部,当前的顶部元素之上添加一个新元素。 这个新元素以传递参数作为其构造函数的参数构造。

这个成员函数调用底层容器的成员函数emplace_back。

☲  参数


args
为构造新元素而转发的参数。

☉  返回值



none

☣  示例



// stack::emplace
#include <iostream>       // std::cin, std::cout
#include <stack>          // std::stack
#include <string>         // std::string, std::getline(string)

int main ()
{
  std::stack<std::string> mystack;

  mystack.emplace ("First sentence");
  mystack.emplace ("Second sentence");

  std::cout << "mystack contains:\n";
  while (!mystack.empty())
  {
    std::cout << mystack.top() << '\n';
    mystack.pop();
  }

  return 0;
}

输出:
mystack contains:
Second sentence
First sentence

✥ 复杂度



调用底层容器上的emplace_back。

⇄ 数据竞争


容器及其包含的所有元素都被修改。

☂ 异常安全性



提供与在基础容器对象上执行的操作相同级别的保证。

🍄  另请参阅



stack::pop 删除元素(公众成员函数)
stack::push 插入元素(公众成员函数)

联系我们 免责声明 关于CandCplus 网站地图