English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di Base di C++

C++ 流程控制

Funzione in C++

C++ 数组 & 字符串

C++ 数据结构

C++ 类 & 对象

Puntatore in C++

Ereditarietà in C++

Tutorial di STL di C++

C++ 参考手册

C++ Stack emplace() 函数使用方法及示例

Stack di STL di C++

C ++堆栈 emplace()函数在当前顶部元素上方的堆栈顶部添加一个新元素。现在,我们有了一个已经存在元素的堆栈,我们希望在堆栈中插入或推入一个新元素,为此,我们使用了此函数。

语法

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

参量

args:参数转发用于构建新元素的参数。也就是说,由args指定的元素将插入到当前顶部元素上方的堆栈中。现在,新插入的元素成为顶部元素,并且所有推入和弹出操作都在其上执行。

Valore di ritorno

Questa funzione viene utilizzata solo per aggiungere nuovi elementi, non restituisce alcun valore. Pertanto, il tipo di ritorno della funzione è void.

Esempio 1

//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

Esempio 2

//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

Esempio 3

//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

Complesso

È stata effettuata una chiamata a emplace_back. Questa funzione viene utilizzata per inserire un nuovo elemento, che viene completato con una chiamata.

Conflitto di Dati

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.

Sicurezza delle Eccezioni

Fornisce garanzie equivalenti alle operazioni eseguite sugli oggetti container di livello inferiore.

Stack di STL di C++