Skip to main content

std::stack top() method

// Non const version
reference top();

// Const version
const_reference top() const;

Returns a reference

to the top element in the stack.
This element will be the first element to be removed on a call to pop().

note

Effectively calls c.back().

Parameters

(none)

Return value

Reference to the last element.

Exceptions

(none)

Complexity

Constant - (1).

Example

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);
}
Output
3 elements on stack
Top element: 51
3 elements on stack
2 elements on stack
Top element: 6

std::stack top() method

// Non const version
reference top();

// Const version
const_reference top() const;

Returns a reference

to the top element in the stack.
This element will be the first element to be removed on a call to pop().

note

Effectively calls c.back().

Parameters

(none)

Return value

Reference to the last element.

Exceptions

(none)

Complexity

Constant - (1).

Example

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);
}
Output
3 elements on stack
Top element: 51
3 elements on stack
2 elements on stack
Top element: 6