template template parameter模板模板参数笔记----C++学习之路

  1.如标题所说,也就是在模板中嵌入另一个模板举个例子:

template<typename T, 
                template <typename T>
                class Container
              >
class XCls
{
private:
    Container<T> c;
public:
    ....
};
那么怎么取使用呢?

template<typename T>
using Lst = list<T,allocator<T>>;
XCls<string,list> mylst1;   X
XCls<string,Lst> mylst2;
这里得第二段第一行,mylst1得意思就是,传进去得参数是个list模板,但是这一句是错误得,

因为在真正用得时候,这个list也就是Container要拿去list<string> c;这样看是可以得,但是容器有第二模板参数。

在语法上面是过不去得。

要解决这种问题得话,就使用:

template<typename T>
using Lst = list<T,allocator<T>>;
  2.如上所说,因为容器可能会有第二第三模板参数,那么假如我们传入得是一个智能指针?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值