欢迎光临
我们一直在努力

C++类模板中的非类型参数

类模板的“类型参数表”中可以出现非类型参数,例如下面的例子:

template<class T, int size>
class CArray {
    T array[size];
public:
    void Print()
    {
        for (int i = 0; i < size; ++i)
            cout << array[i] << endl;
    }
};

可以用 CArray 模板定义对象,例如:

CArray<int, 40> a;

编译器自动生成名为 CArray<int, 40> 的类。该类是通过将 CArray 模板中的 T 换成 int、 size 换成 40 后得到的。还可定义以下对象:

CArray <double, 40> a2;
CArray <int, 50> a3;

注意,CArray<double, 40> 和 CArray<int, 50> 完全是两个类,这两个类的对象之间不能互相赋值。

赞(0) 打赏
未经允许不得转载:hosteons中文网 » C++类模板中的非类型参数

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册