【 在 spoon123 (勺子) 的大作中提到: 】
: 继承不是坏事,为了继承构造复杂的分类体系才不好。 不知道谁说过,好的设计不是最好的,而是最不坏的。:)
首先来拜见当初的老师.
当初了学了New B语言后慢慢干活, 觉得大部分东西都能实现, 也没觉得麻烦.
再看C++的时候,到了模板这里觉得有些绕,看不太明白.
开始拙劣模仿着用C++的方式去写程序的时候, 老是很抵触, 感觉不如直接用New B语言来的生脆利落.
慢慢的就直接用New B语言了, 那些名字上很炫的东西很少去碰, 偶尔发现自己代码里也有差不多的东西.
个人觉得代码好维护, 运行稳定, 运行效率高, 也就可以了, 我没什么太高追求.
继承(代码复用)这块我是这么弄的:
首先定义一个基础的结构体
struct base {
...;
};
再弄一些处理base结构体的函数.
继承的时候这么搞
struct special {
struct base; // gcc 可以这么写, 不用加变量名
...;
};
再弄一些处理special结构体的函数.
通过把 struct special 当成 struct base 来使用就实现了代码复用.
linux内核里的list rbtree等就是这么弄的.
但是有的人觉得这种方式很绕, 我觉得很直接.
这是业余实现弄的小东西
https://m.mysmth.net/article/NewSoftware/264858 也就是能写个应用层东西的水平, 虽然不懂内核但是还能改一点点地方满足特殊要求.
但到编译器这层完全是连看都不敢看了, 非常佩服老师能开发LLVM.
※ 修改:·uju 于 Jan 19 08:20:45 2022 修改本文·[FROM: 193.70.39.*]
※ 来源:·水木社区 mysmth.net·[FROM: 193.70.39.*]
修改:uju FROM 193.70.39.*
FROM 193.70.39.*