c++ - Stack在STL中是如何实现的?

标签 c++ stl stack implementation

我遇到了这个:

Standard C++ Containers

这引发了我的疑问,堆栈是如何在 STL 中实现的?

我正在寻找类似于以下内容的描述:

How is C++ std::vector implemented?

What really is a deque in STL?

最佳答案

stack是一个适配器,它使用另一个容器作为底层存储,并链接函数 push , pop , emplace等到底层容器中的相关功能。

默认情况下,std::stack使用 std::deque作为底层容器。但是你可以指定你自己的,例如std::stack<T, std::vector<T>> s; .

有关此的更多详细信息,请参阅 cppreference .

关于c++ - Stack在STL中是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35930251/

相关文章:

VS2008 中的 C++ STL:std::ostringstream 在大量分配/清除使用后抛出 std::bad_alloc

c++ - CUDA 扩展 std::vector 以管理主机和设备数据

c - 为什么打印链表内容时会出现段错误?

c# - 数组元素的反向波兰表示法。 (例如 : array_name[i, j])

c - 为什么我的代码破坏了堆栈?我该如何修复它?

c++ - 此示例中指定的 128 位 AES key 是什么格式?

c++ - vector 中的不可复制元素

c++ - 将 ostream 重定向到文件不起作用

c# - 在 C# 或 C++ 中读取二进制文件

c++ - Qt中如何获取QWidget的QTabWidget标题文本?