C++ 结构体模板使用示例

class是声明数据类型参数标识符T的关键字(也可以用typename)。这样,在后面的定义中,凡希望根据实参数据类型来确定数据类型的变量,都可以用T来说明,从而使这个变量可以适应不同的数据类型。

C++结构模板的例子:

template<class T1,class T2, class T3, class T4,class T5>
struct a {
        T1 t1;
        T2 t2;
        T3 t3;
        T4 t4;
        T5 t5;
};

int main()
{
        typedef struct a<int, int ,int ,int, int> deng_type;//定义一个模板结构类型
        struct a<int,float,int,int,int> a_obj={1,1.5,6,3,8};
        deng_type m={8,3,6,7,0};
        

        cout << a_obj.t1<<" "<<m.t1<<endl;
}

编译g++ temp.cpp -o temp2.exe

注意问题:

结构模板不能用typedef定义别名,比如:

typedef struct a {
        T1 t1;
        T2 t2;
        T3 t3;
        T4 t4;
        T5 t5;
} a_struct;

这种用法是不允许的,因为此时结构体各个成员类型没有确定,编译器无法知道该类型占用的内存空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

denglin12315

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值