當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。