当前位置: 首页>>代码示例>>用法及示例精选>>正文


C++ Queue emplace()用法及代码示例

C++ 队列 emplace() 函数在队列的末尾添加一个新元素,跟在当前的后退元素之后。该函数对队列执行插入操作。

用法

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

参数

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

返回值

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

例子1

#include<iostream>
#include<queue>
#include<string>
int main()
{
	std::queue<std::string> newqueue;
	newqueue.emplace("I am the first line");
	newqueue.emplace("I am the second one");
	std::cout << "Contents of new queue:\n";
	while (!newqueue.empty())
	{
		std::cout << newqueue.front() << "\n";
		newqueue.pop ();
	}
	return 0;
}

输出:

I am the first line
I am the second one

例子2

#include<iostream>
#include<queue>
#include<string>
using namespace std;
int main()
{
	queue<string> newpqueue;
	newpqueue.emplace("portal");
	newpqueue.emplace("computer science");
	newpqueue.emplace("is a");
	newpqueue.emplace("Javatpoint");
	cout << "newpqueue = " ;
	while(!newpqueue.empty( ) )
	{
		cout<< newpqueue.front() << " ";
		newpqueue.pop();
	}
	return 0 ;
}

输出:

Javatpoint is a computer science portal

复杂度

对 emplace_back 进行一次调用。

数据竞争

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

异常安全

提供等同于对底层容器对象执行的操作的保证。





相关用法

注:本文由纯净天空筛选整理自 C++ Queue emplace() Function。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。