VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
123
返回列表 发新帖
楼主: zjzengjian

讨论:template技术就只是做类库的?

[复制链接]

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-28 01:00:01 | 显示全部楼层
[Quote=引用 5 楼 killerss 的回复:]
。。。template   的根本目的就在于   source   level   re-use,而   source   level   re-use   只是   library   的(部分)特点。应用程序强调的是   delivery   the   functionality   to   user,至于具体用什么技术什么手段,根本无足轻重。
[/Quote]
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-28 01:15:01 | 显示全部楼层
mark学习!
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-28 02:15:01 | 显示全部楼层
此帖很有前途,必定迎来无数高手,贫道占位先.
回复

使用道具 举报

0

主题

55

帖子

44.00

积分

新手上路

Rank: 1

积分
44.00
发表于 2020-8-28 06:30:01 | 显示全部楼层
关键在于你需要多高的抽象层次。
越大型的、越通用的,才越能发挥template的优势。
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-2 21:15:01 | 显示全部楼层
好贴
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-2 21:30:02 | 显示全部楼层
我正在学C++模板,对模板已经有一定的了解了,看到C++ templates,boost,loki不想看了。主要就是我觉得这个模板用处不广。但是心里有有愧,所以今天搜一下,居然搜到了这里有人讨论。确实给我指了方向。
综合上面大家发言,我得出这样一个结论:
OO的应用就是描述这样一个东西。人能吃饭,我是人,所以我能吃饭,又由于虚拟的存在,每个人吃饭方式还能不一样。要OO就必须是同类,OO实现的是同种类行为的压缩。
而GP说的是,你能吃饭,我也能吃饭,哪怕我们没什么关系。人能吃饭,狗也能吃饭,甚至机器也要吃饭。能吃饭的我可以让他们都在这里吃饭。GP就不管你哪个类型,GP实现的是不同种类行为的压缩。
这两个东西,一个纵向,一个横向,并不矛盾。OO是万能的,OO能做的GP不能做,GP能做的OO别别扭扭的也能做(不同类的哥哥让你们同类,Java.NET,以前就没GP,应该都属于此类吧),但这样消耗的就是性能、清晰度和可维护性。所以有的事情还是要GP来做,特别是在跨类型压缩需求很高的情况下,甚至是类型无穷多,这种情况不用GP麻烦得要死,让我们自己给每个类继承一堆接口太麻烦,还是不继承直接用(GP的用武之地)比较好。必须让编译器帮我们写程序(我觉得GP本质上都是编译器帮我们写程序——实例化)。
其实宏也能GP,template是更聪明点更省编码者事更安全的GP。

具体到实际开发中,毫无疑问,要面向无穷多类型的就是我们工作基于的通用库,所以GP这里用的多;而我们具体针对每个企业应用开发的项目都基本上很少用到这个GP。没那么多同行为的不同类型呀!我们的开发中可遇不到“狗和人都吃饭”的情况,而大部分都是“这个人和那个人吃饭的情况”。而且代码逻辑,是变动最大的部分。和GP距离太远了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表