关于C++模板封装的问题(关于C++模板参数的声明)

本文探讨了C++模板参数声明中存在的问题,指出在模板编程中无法显式声明参数应满足的条件,导致理解与使用困难。提出引入Java的接口概念来改进,通过接口定义模板参数要求,使模板类或函数的使用更清晰。文章通过一个简单示例展示了这种方法的思想。
摘要由CSDN通过智能技术生成

关于C++模板封装的问题(关于C++模板参数的声明)

       C++模板参数的声明很有意思,除了基本类型,还有可选的就是classtypename,当然了,到C++泛型编程的高级话题的时候,就还可以加上什么的模板模板参数(没有记错的化,侯捷就是这么翻译的)。

 

 

       很久以前就觉得C++中模板声明在语法上有点问题,不过只是一种感觉,但是具体问题在哪又说不上来。这几天看《计算机程序的构造和解释》和《Design by Contract原则与实践》,不知道是因为和同学讨论,还是自己灵感来了,估计两者都有,终于发现了这个不优美语法的具体形式。呵呵,实在难以想象,全世界这么多的大设计师,其中不乏优秀的程序语言设计师,居然一直就是用着这种蹩脚而不多大价值的声明。

 

 

       看过C++模板编程或者写过的人应该都知道,C++模板编程中经常会在其中对参数声明中的class或者typename定义对象,然后使用这些对象的方法。问题就出在这里!

 

 

       使用这些对象的方法是没有显示说明的。也就是说:如果我们不能看到这个模板类或者模板函数的源代码,我们就不知道在将这个模板类或者模板函数具体化的时候,我们传入的类型参数(即使classtypename

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值