C ++ 队列 emplace()函数在队列的末尾添加一个新元素,作用和push一样。该函数在队列上执行插入操作。
template <class... Args> void emplace (Args&&... args);
args:参数转发用于构造新元素的参数。它指定了新构造的元素的值,该值将插入到结束位置。
该函数仅用于添加新元素,不返回任何值。
#include<iostream> #include<queue> #include<string> int main() { std::queue<std::string> newqueue; newqueue.emplace("我是第一行"); newqueue.emplace("我是第二行"); std::cout << "新队列的内容: \n"; while (!newqueue.empty()) { std::cout << newqueue.front() << "\n"; newqueue.pop (); } return 0; }
输出:
我是第一行 我是第二行
#include<iostream> #include<queue> #include<string> using namespace std; int main() { queue<string> newpqueue; newpqueue.emplace("在线"); newpqueue.emplace("基础教程"); newpqueue.emplace("IT"); newpqueue.emplace("www.nhooo.com"); cout << "newpqueue = " ; while(!newpqueue.empty( ) ) { cout<< newpqueue.front() << " "; newpqueue.pop(); } return 0 ; }
输出:
newpqueue = 在线 基础教程 IT www.nhooo.com
对emplace_back进行了一次调用。
队列中存在的所有元素都被修改,因为添加了新元素,所有其他元素的相应位置也被更改。
提供与在底层容器对象上执行的操作等效的保证。