std::stack<int,std::vector<int>> s1 的含义是什么;
What is the meaning of std::stack<int,std::vector<int>> s1;
std::stack<int,std::vector<int>> s1;
在C++中的含义是什么。有人能清楚地向我解释一下上述声明的含义吗。。。它是一堆矢量吗?
为什么我们要在向量中添加堆栈?
如果有人能尽早回答,那将是非常有帮助的。
类型:
std::stack<int,std::vector<int>>
意味着我们希望构建一个整数堆栈,堆栈的容器实现为整数向量。更多细节,在不太可能的情况下,你需要它,可以在这里找到。
换句话说,创建一个整数向量,然后将堆栈类型围绕该向量进行包装。
堆栈可以由各种底层数据结构构建,只要它们提供由SequenceContainer
以及back()
、push_back()
和pop_back()
指定的设施即可。在标准库中,这意味着vector
、deque
(默认值(或list
之一。
请记住,底层容器不会影响您对堆栈的处理。您无法直接访问该容器。
因此,例如,即使向量允许随机访问,但围绕向量构建的堆栈却不允许。
你所得到的只是标准的堆栈方法:赋值、查看顶部项目、获取大小、检查是否为空、推送项目(就位或移动/复制(、弹出项目以及交换顶部两个项目。
该列表中的任何地方都不会影响不是前两个元素之一的元素,这对于向量来说相对容易。
相关文章:
- 'max'匹配'std::function<const int &(const int &, const int &)>'无过载
- 将 int 数组转换为 std::vector<int*>
- <Windows>为什么 std::thread::native_handle 返回类型为"long long unsigned int"的值,而不是 void*(又名 HANDLE)?
- 使用 std::vector::reverse_iterator 将 int 序列化为字节向量?
- 在 std::无符号字符的向量处存储 int 的十六进制表示形式
- '[](std::list& list)<int>{return std::move(list)}(list)' 是否保证将 'list' 留空?
- 从 std::vector<无符号字符>切片中提取 int?
- std::cout输出int时出现编译错误
- 如何创建一个类,以便向量工作 std::vector<MyClass<int>> v{ 1,2,3 };
- 对的排序向量 (std::vector<pair<int, int>>) 按对的第一个元素搜索并更新第二个元素值
- 如何使用 uint64_t 键类型从 std::map<int, std::string> 返回值?
- C++如何将 std::vector 转换为 const<int> std::vector<const int>?
- 为什么 std::d eclval<int>() = std::d eclval<int>() 无效?
- 将const int std ::数组的n元素复制到int矢量中.怎么做
- 如何从方法返回静态常量 int std::array?
- 尝试使用 const int std::array 时出错
- 'int main(int, int, std::__cxx11::string, std::__cxx11::string)'只需要零或两个参数 [-Wmain]
- C++ vector<pair<int,int>> std::all_of() 函数问题(重定向到头文件)
- 错误:从"int (*)(std::list<myclass*>, int, char**, char**)"到"int (*)(void*, int, char**, char**)"的
- Boost过载奇怪的行为.' int (int), int (std::string) '与' int (int)