Console Library 8.0.0
A header-only library that makes C++ simple
Loading...
Searching...
No Matches
console::Stack< T, Container > Class Template Reference

栈容器适配器,扩展自 std::stack。 More...

#include <adapter.h>

Inheritance diagram for console::Stack< T, Container >:

Public Member Functions

base_type::value_type pop ()
 弹出栈顶元素并返回其值。

Private Types

using base_type = std::stack<T, Container>

Friends

template<class CharT, class Traits>
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const Stack &stack)
 重载输出流运算符,将栈的内容输出到流中。

Detailed Description

template<class T, class Container = std::deque<T>>
class console::Stack< T, Container >

栈容器适配器,扩展自 std::stack。

Template Parameters
T栈中存储的元素类型。
Container底层容器类型,默认为 std::deque<T>。

该适配器继承自 std::stack,提供了返回值版本的 pop() 方法。 使用示例:

s.push(1);
s.push(2);
int value = s.pop(); // 返回 2 并弹出
栈容器适配器,扩展自 std::stack。
Definition adapter.h:59
base_type::value_type pop()
弹出栈顶元素并返回其值。
Definition adapter.h:74

Member Typedef Documentation

◆ base_type

template<class T, class Container = std::deque<T>>
using console::Stack< T, Container >::base_type = std::stack<T, Container>
private

Member Function Documentation

◆ pop()

template<class T, class Container = std::deque<T>>
base_type::value_type console::Stack< T, Container >::pop ( )
inline

弹出栈顶元素并返回其值。

Returns
typename base_type::value_type 栈顶元素的值(通过移动语义返回)。

该方法结合了 top() 和 pop() 操作,返回栈顶元素的副本/移动值, 然后将栈顶元素弹出。使用移动语义避免不必要的拷贝。

◆ operator<<

template<class T, class Container = std::deque<T>>
template<class CharT, class Traits>
std::basic_ostream< CharT, Traits > & operator<< ( std::basic_ostream< CharT, Traits > & os,
const Stack< T, Container > & stack )
friend

重载输出流运算符,将栈的内容输出到流中。

Parameters
os输出流对象。
stack要输出的栈对象。
Returns
输出流对象的引用。
Note
要求c支持输出。

The documentation for this class was generated from the following file: