C++ Queue emplace() 函数使用方法及示例

C++ STL Queue(队列)

C ++ 队列 emplace()函数在队列的末尾添加一个新元素,作用和push一样。该函数在队列上执行插入操作。

语法

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

参数

args:参数转发用于构造新元素的参数。它指定了新构造的元素的值,该值将插入到结束位置。

返回值

该函数仅用于添加新元素,不返回任何值。

实例1

#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;
}

输出:

我是第一行
我是第二行

实例2

#include<iostream>
#include<queue>
#include<string>
using namespace std;
int main()
{
	queue<string> newpqueue;
	newpqueue.emplace("在线");
	newpqueue.emplace("基础教程");
	newpqueue.emplace("IT");
	newpqueue.emplace("www.cainiaoplus.com");
	cout << "newpqueue = " ;
	while(!newpqueue.empty( ) )
	{
		cout<< newpqueue.front() << " ";
		newpqueue.pop();
	}
	return 0 ;
}

输出:

newpqueue = 在线 基础教程 IT www.cainiaoplus.com

复杂

对emplace_back进行了一次调用。

数据争用

队列中存在的所有元素都被修改,因为添加了新元素,所有其他元素的相应位置也被更改。

异常安全

提供与在底层容器对象上执行的操作等效的保证。

C++ STL Queue(队列)