标准容器至少两个参数

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了。

 

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