C++ Templates:trait与policy类

trait和policy的区别在何处:
policy更加注重行为,trait则更加注重于类型。
trait表述了模板参数的一些自然的额外属性。
policy表述了泛型函数和泛型类的一些可配置行为(通常都具有被经常使用的缺省值)

下面是针对trait的一些事实:

  • trait可以是fixed trait(不需要通过模板参数进行传递的trait)
  • trait参数通常都具有很自然的缺省值(该缺省值很少会被改写,或者是不能被改写)
  • trait参数可以紧密依赖于一个或多个主参数
  • trait通常都是用trait模板来实现的


下面是针对policy class的一些事实:

  • 如果不以模板参数的形式进行传递的话,policy class几乎不起作用
  • policy参数并不需要具有缺省值,而且通常都是显式指定这个参数
  • policy参数和属于同一个模板的其他模板参数通常都是正交的
  • policy class一般都包含了成员函数
  • policy既可以用普通类来实现,也可以用类模板来实现

类型函数:

值函数:函数接收的是某些值,返回结果也是值


类型函数:一个接收某些类型实参,并且生成一个类型作为函数的返回值


sizeof就是一个非常有用的、内建的类型函数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值