[置顶] 再说C++模板类的一些使用技巧

已移到: http://www.iteblog.com/archives/184

C++允许为模板类中的类型参数指定为一个迷人类型,例如:我们可以将int赋予通用类Stack中的类型参数T,作为默认类型,如下所示:

template<class T = int>
class Stack{
//other operator
};
现在我们就可以像如下代码一样使用默认类型来声明模板类对象了:

Stack<> stack; //store int value
但是需要注意的是,默认类型只能用于模板类,不能用于模版函数。

在模版前缀中,除了类型参数外,还可以使用非类型参数,例如、在Stack类中,可以将数组容量声明为一个参数,如下所示;

template<class T, int capacity>
class Stack{
....
private:
    T elements[capacity];
    int size;
};

这样,当创建一个栈的时候,除了要指明元素类型外,还要指明数组的大小。如:

Stack<int, 100> stack;

此语句声明了一个最多可以容纳100个int数值的栈。

转载请注明: 转载自过往记忆(http://www.iteblog.com/)
本文链接地址: 再说C++模板类的一些使用技巧(http://www.iteblog.com/archives/184)


你可能感兴趣的:(C++,c)