English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++堆栈 emplace()函数在当前顶部元素上方的堆栈顶部添加一个新元素。现在,我们有了一个已经存在元素的堆栈,我们希望在堆栈中插入或推入一个新元素,为此,我们使用了此函数。
template <class... Args> void emplace (Args&&... args);
args:参数转发用于构建新元素的参数。也就是说,由args指定的元素将插入到当前顶部元素上方的堆栈中。现在,新插入的元素成为顶部元素,并且所有推入和弹出操作都在其上执行。
Questa funzione viene utilizzata solo per aggiungere nuovi elementi, non restituisce alcun valore. Pertanto, il tipo di ritorno della funzione è void.
//Questo programma aggiunge due stringhe semplici alla cima dello stack e le stampa per illustrare l'uso della funzione emplace.
#include<iostream> #include<stack> #include<string> using namespace std; int main() { stack<string> newstack; newstack.emplace("Sono il primo"); newstack.emplace("Sono il secondo"); cout << "Contenuto di newstack: \n"; while (!newstack.empty()) { cout << newstack.top() << "\n"; newstack.pop(); } return 0; }
Output:
Contenuto di newstack: Sono il secondo Sono il primo
//Questo programma inserisce la tabella di 11 nello stack e poi le stampa una per una per illustrare l'uso della funzione emplace.
#include<iostream> #include<stack> #include<string> using namespace std; int main() { stack<string> newstack; newstack.emplace("11"); newstack.emplace("22"); newstack.emplace("33"); newstack.emplace("44"); newstack.emplace("55"); newstack.emplace("66"); newstack.emplace("77"); newstack.emplace("88"); newstack.emplace("99"); newstack.emplace("121"); cout << "Contenuto di newstack: \n"; cout << "Tabella di 11"; while (!newstack.empty()) { cout << newstack.top() << "\n"; newstack.pop(); } return 0; }
Output:
Contenuto di newstack: Tabella di 11121 99 88 77 66 55 44 33 22 11
//Questo programma aggiunge due stringhe semplici alla cima dello stack e le stampa per illustrare l'uso della funzione emplace.
#include<iostream> #include<stack> #include<string> using namespace std; int main() { stack<string> newstack; newstack.emplace("Possiamo vedere l'applicazione della funzione emplace nello stack"); newstack.emplace("L'elemento nuovo aggiunto alla sommità dello stack"); while (!newstack.empty()) { cout << newstack.top() << "\n"; newstack.pop(); } return 0; }
Output:
L'elemento aggiunto dalla funzione si trova in cima alla pila Possiamo vedere l'applicazione della funzione emplace nella pila qui
È stata effettuata una chiamata a emplace_back. Questa funzione viene utilizzata per inserire un nuovo elemento, che viene completato con una chiamata.
Tutti gli elementi presenti nella pila vengono modificati. Poiché l'elemento è stato aggiunto alla cima, è cambiata anche la posizione corrispondente di tutti gli altri elementi.
Fornisce garanzie equivalenti alle operazioni eseguite sugli oggetti container di livello inferiore.