C++ Stack emplace() 函数

30 Aug 2024 | 3 分钟阅读

C++ Stack emplace() 函数在栈顶添加一个新元素,该元素位于当前栈顶元素的上方。现在,假设我们有一个已存在元素的栈,并且希望在栈中插入或推入一个新元素,我们就可以使用这个函数。

语法

参数

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

返回值

该函数仅用于添加新元素,不返回任何值。因此,函数的返回类型是 void。

示例 1

// 该程序通过在栈顶添加两个简单的字符串并打印它们,来说明 emplace 函数的用法。

输出

Contents of newstack:
I am the second one
I am the first line

示例 2

// 该程序通过在栈顶插入 11 的乘法表并相应地打印它,来说明 emplace 函数的用法。

输出

Contents of newstack: 
Table of 11121
99
88
77
66
55
44
33
22
11

示例 3

// 该程序通过在栈顶添加两个简单的字符串并打印它们,来说明 emplace 函数的用法。

输出

The function adds new elements are the top of the stack         
We are here to see the application use of emplace function in stacks 

复杂度

对 emplace_back 进行一次调用。该函数用于插入一个新元素,这是通过单次调用完成的。

数据竞争

栈中存在的所有元素都会被修改。由于元素是添加到顶部的,因此所有其他元素的相应位置也会改变。

异常安全

提供与对底层容器对象执行的操作等效的保证。

下一主题C++ Stack