gpt4 book ai didi

c++ - 如何更改适配器容器的基本底层容器类型?

转载 作者:行者123 更新时间:2023-11-30 01:50:14 25 4
gpt4 key购买 nike

我想使用堆栈,它使用列表作为基本容器而不是 vector 。我该怎么做?正如我所知,默认情况下堆栈将使用 vector 。我怎样才能确保堆栈只使用我提到的容器。例如,我希望堆栈仅使用列表。

最佳答案

将所需的容器作为模板化参数。例如:

std::stack<int,std::vector<int> > stack_using_vector_of_int;
std::stack<std::string,std::list<std::string> > stack_using_list_of_string;

如果你想确保 stack 总是使用 list,给 list_stack 一个总是使用 std::list 作为容器的类型定义.

从 Jarod42 的评论中添加:

Post C++11 you can use

template <typename T>
using list_stack = std::stack<T, std::list<T>>;

默认 std::stack 使用 std::deque 作为底层容器,这几乎总是比使用 std::list 更有效或 std::vector

关于c++ - 如何更改适配器容器的基本底层容器类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27717015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com