C++ 基礎(chǔ)教程

C++ 流程控制

C++ 函數(shù)

C++ 數(shù)組 & 字符串

C++ 數(shù)據(jù)結(jié)構(gòu)

C++ 類 & 對象

C++ 指針

C++ 繼承

C++ STL 教程

C++ 參考手冊

C++ Stack emplace() 函數(shù)使用方法及示例

C++ STL Stack(棧)

C ++堆棧 emplace()函數(shù)在當(dāng)前頂部元素上方的堆棧頂部添加一個(gè)新元素?,F(xiàn)在,我們有了一個(gè)已經(jīng)存在元素的堆棧,我們希望在堆棧中插入或推入一個(gè)新元素,為此,我們使用了此函數(shù)。

語法

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

參量

args:參數(shù)轉(zhuǎn)發(fā)用于構(gòu)造新元素的參數(shù)。也就是說,由args指定的元素將插入到當(dāng)前頂部元素上方的堆棧中?,F(xiàn)在,新插入的元素成為頂部元素,并且所有推入和彈出操作都在其上執(zhí)行。

返回值

該函數(shù)僅用于添加新元素,不返回任何值。因此,該函數(shù)的返回類型為void。

實(shí)例1

//該程序通過在堆棧頂部添加兩個(gè)簡單的字符串并進(jìn)行打印來說明emplace函數(shù)的用法。

#include<iostream>
#include<stack>
#include<string>
using namespace std;
int main()
{
	stack<string> newstack;
	newstack.emplace ("我是第一個(gè)");
	newstack.emplace ("我是第二個(gè)");
	cout << "newstack的內(nèi)容: \n";
	while (!newstack.empty () )
	{
		cout << newstack.top () << "\n";
		newstack.pop ();
	}
	return 0;
}

輸出:

newstack的內(nèi)容:
我是第二個(gè)
我是第一個(gè)

實(shí)例2

//該程序通過將11的表插入到,然后分別進(jìn)行打印來說明emplace函數(shù)的用法。

#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 << "newstack的內(nèi)容: \n";
    cout << "Table of 11";

    while (!newstack.empty())
    {
       cout << newstack.top() << "\n";
        newstack.pop();
    }
    return 0;
}

輸出:

newstack的內(nèi)容: 
Table of 11121
99
88
77
66
55
44
33
22
11

實(shí)例3

//該程序通過在堆棧頂部添加兩個(gè)簡單的字符串并進(jìn)行打印來說明emplace函數(shù)的用法。

#include<iostream>
#include<stack>
#include<string>
using namespace std;

int main()
{
	stack<string> newstack;
	newstack.emplace ("我們在這里可以看到emplace函數(shù)在堆棧中的應(yīng)用");
	newstack.emplace ("函數(shù)添加的新元素位于堆棧的頂部");
	while (!newstack.empty () )
	{
		cout << newstack.top () << "\n";
		newstack.pop ();
	}
	return 0;
}

輸出:

函數(shù)添加的新元素位于堆棧的頂部         
我們在這里可以看到emplace函數(shù)在堆棧中的應(yīng)用

復(fù)雜

對emplace_back進(jìn)行了一次調(diào)用。該函數(shù)用于插入新元素,這是通過進(jìn)行一次調(diào)用來完成的。

數(shù)據(jù)爭用

堆棧中存在的所有元素均被修改。由于該元素被添加到頂部,因此所有其他元素的相應(yīng)位置也發(fā)生了變化。

異常安全

提供與在底層容器對象上執(zhí)行的操作等效的保證。

C++ STL Stack(棧)

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清