跳到主要内容

std::stack top() 方法

// Non const version
reference top();

// Const version
const_reference top() const;

返回对指定索引pos处元素的引用

栈顶元素。
此元素将是调用 pop() 时第一个被移除的元素。

注意

有效地调用 c.back()

参数

(无)

返回值

对最后一个元素的引用。

异常

(无)

复杂度

常数 - (1)

示例

Main.cpp
#include <stack>
#include <iostream>

void reportStackSize(const std::stack<int>& s)
{
std::cout << s.size() << " elements on stack\n";
}

void reportStackTop(const std::stack<int>& s)
{
// Leaves element on stack
std::cout << "Top element: " << s.top() << '\n';
}

int main()
{
std::stack<int> s;
s.push(2);
s.push(6);
s.push(51);

reportStackSize(s);
reportStackTop(s);

reportStackSize(s);
s.pop();

reportStackSize(s);
reportStackTop(s);
}
输出
3 elements on stack
Top element: 51
3 elements on stack
2 elements on stack
Top element: 6

std::stack top() 方法

// Non const version
reference top();

// Const version
const_reference top() const;

返回对指定索引pos处元素的引用

栈顶元素。
此元素将是调用 pop() 时第一个被移除的元素。

注意

有效地调用 c.back()

参数

(无)

返回值

对最后一个元素的引用。

异常

(无)

复杂度

常数 - (1)

示例

Main.cpp
#include <stack>
#include <iostream>

void reportStackSize(const std::stack<int>& s)
{
std::cout << s.size() << " elements on stack\n";
}

void reportStackTop(const std::stack<int>& s)
{
// Leaves element on stack
std::cout << "Top element: " << s.top() << '\n';
}

int main()
{
std::stack<int> s;
s.push(2);
s.push(6);
s.push(51);

reportStackSize(s);
reportStackTop(s);

reportStackSize(s);
s.pop();

reportStackSize(s);
reportStackTop(s);
}
输出
3 elements on stack
Top element: 51
3 elements on stack
2 elements on stack
Top element: 6