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 empty()用法及代碼示例
- C++ Queue push()用法及代碼示例
- C++ Queue back()用法及代碼示例
- C++ Queue size()用法及代碼示例
- C++ Queue pop()用法及代碼示例
- C++ unordered_map cbegin用法及代碼示例
- C++ map lower_bound()用法及代碼示例
- C++ list assign()用法及代碼示例
- C++ std::max()用法及代碼示例
- C++ std::string::push_back()用法及代碼示例
- C++ multimap key_comp()用法及代碼示例
- C++ Deque erase()用法及代碼示例
- C++ std::less_equal用法及代碼示例
- C++ set rbegin()用法及代碼示例
- C++ llround()用法及代碼示例
- C++ getline(string)用法及代碼示例
- C++ boost::algorithm::all_of()用法及代碼示例
- C++ string::length()用法及代碼示例
- C++ log2()用法及代碼示例
- C++ lrint() and llrint()用法及代碼示例
注:本文由純淨天空篩選整理自 C++ Queue emplace() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。