std::
queue::emplace
公共成员函数 <queue>
template <class... Args> void emplace (Args&&... args);
构造并且插入元素
在队列的末尾添加一个新元素,在它当前的最后一个元素之后。
这个新元素以传递参数作为其构造函数的参数构造。
这个成员函数调用转发参数(forwarding args)和底层容器的成员函数emplace_back。
☲ 参数
-
args
-
为构造新元素而转发的参数。
☉ 返回值
none
☣ 示例
// queue::emplace
#include <iostream> // std::cin, std::cout
#include <queue> // std::queue
#include <string> // std::string, std::getline(string)
int main ()
{
std::queue<std::string> myqueue;
myqueue.emplace ("First sentence");
myqueue.emplace ("Second sentence");
std::cout << "myqueue contains:\n";
while (!myqueue.empty())
{
std::cout << myqueue.front() << '\n';
myqueue.pop();
}
return 0;
} |
输出:
myqueue contains:
First sentence
Second sentence
✥ 复杂度
调用底层容器上的emplace_back。
⇄ 数据竞争
容器及其包含的所有元素都被修改。
☂ 异常安全性
提供与在基础容器对象上执行的操作相同级别的保证。
🍄 另请参阅
queue::pop |
删除元素(公众成员函数) |
queue::push |
插入元素(公众成员函数) |