C ++ 隊(duì)列 emplace()函數(shù)在隊(duì)列的末尾添加一個(gè)新元素,作用和push一樣。該函數(shù)在隊(duì)列上執(zhí)行插入操作。
template <class... Args> void emplace (Args&&... args);
args:參數(shù)轉(zhuǎn)發(fā)用于構(gòu)造新元素的參數(shù)。它指定了新構(gòu)造的元素的值,該值將插入到結(jié)束位置。
該函數(shù)僅用于添加新元素,不返回任何值。
#include<iostream> #include<queue> #include<string> int main() { std::queue<std::string> newqueue; newqueue.emplace("我是第一行"); newqueue.emplace("我是第二行"); std::cout << "新隊(duì)列的內(nèi)容: \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("在線(xiàn)"); newpqueue.emplace("基礎(chǔ)教程"); newpqueue.emplace("IT"); newpqueue.emplace("www.soo66.com"); cout << "newpqueue = " ; while(!newpqueue.empty( ) ) { cout<< newpqueue.front() << " "; newpqueue.pop(); } return 0 ; }
輸出:
newpqueue = 在線(xiàn) 基礎(chǔ)教程 IT www.soo66.com
對(duì)emplace_back進(jìn)行了一次調(diào)用。
隊(duì)列中存在的所有元素都被修改,因?yàn)樘砑恿诵略?,所有其他元素的相?yīng)位置也被更改。
提供與在底層容器對(duì)象上執(zhí)行的操作等效的保證。