std::stack<int,std::vector<int>> s1 的含义是什么;

What is the meaning of std::stack<int,std::vector<int>> s1;

本文关键字:int std lt gt 是什么 stack vector s1      更新时间:2024-04-28

std::stack<int,std::vector<int>> s1;在C++中的含义是什么。有人能清楚地向我解释一下上述声明的含义吗。。。它是一堆矢量吗?

为什么我们要在向量中添加堆栈?

如果有人能尽早回答,那将是非常有帮助的。

类型:

std::stack<int,std::vector<int>>

意味着我们希望构建一个整数堆栈,堆栈的容器实现为整数向量。更多细节,在不太可能的情况下,你需要它,可以在这里找到。

换句话说,创建一个整数向量,然后将堆栈类型围绕该向量进行包装。

堆栈可以由各种底层数据结构构建,只要它们提供由SequenceContainer以及back()push_back()pop_back()指定的设施即可。在标准库中,这意味着vectordeque(默认值(或list之一。


请记住,底层容器不会影响您对堆栈的处理。您无法直接访问该容器。

因此,例如,即使向量允许随机访问,但围绕向量构建的堆栈却不允许。

你所得到的只是标准的堆栈方法:赋值、查看顶部项目、获取大小、检查是否为空、推送项目(就位或移动/复制(、弹出项目以及交换顶部两个项目。

该列表中的任何地方都不会影响不是前两个元素之一的元素,这对于向量来说相对容易。

相关文章: