标准容器至少两个参数

Posted 笨鸟居士的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标准容器至少两个参数相关的知识,希望对你有一定的参考价值。

一个是元素类型,一个是配置器类型。

当实例化一个 vector<int>这样的标准容器的时候,得到的其实是

vector<int, std::allocator<int>>。

 

但是后一个参数可以有缺省值,如下:

template <typename T, class Cont=Deque<T> >

class Stack {

};

 

然后Stack的初始化可以有:

std::stack<int> first;    
std::stack<int,std::vector<int> > third; 

 

但是有时候,想要换容器,又不想弄错类型,可以有(貌似STL没有支持):

template <typename T, template<typename>class Cont >

class Stack;

 

其中typename后面省略了名称

然后就可以

stack<int, vector> my_stack了。

 

以上是关于标准容器至少两个参数的主要内容,如果未能解决你的问题,请参考以下文章

STL容器自定义内存分配器

STL容器自定义内存分配器

删除所有停止的容器:“docker rm”至少需要 1 个参数

以编程方式添加的片段上的后退键导致空容器

将变量传递给现代中继中的片段容器

片段 - 替换容器,如果 id 不是唯一的