赞
踩
C++官网参考链接:https://cplusplus.com/reference/queue/queue/emplace/
公有成员函数
<queue>
std::queue::emplace
template <class... Args> void emplace (Args&&... args);
构造和插入元素
在queue的末尾添加一个新元素,位于当前最后一个元素之后。在适当的位置构造这个新元素,并将args作为其构造函数的实参传递。
该成员函数有效地调用底层容器的成员函数emplace_back,并转发args。
形参
args
用于构造新元素的而转发的实参。
返回值
没有返回值。
用例
// 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。
数据竞争
容器及其包含的所有元素都将被修改。
异常安全
提供与在底层容器对象上执行的操作相同级别的保证。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。