B****S 发帖数: 597 | |
d**o 发帖数: 864 | 2 很有用吧。OOP。
template啊什么的也很有用啊。
【在 B****S 的大作中提到】 : 什么多重继承,等等。
|
d****i 发帖数: 4809 | 3 取决于你用在什么地方场合,比如C++的多重继承在嵌入式系统的代码中通常是被禁止
的,多重继承带来了复杂性,容易出错,而且带了一些overhead,这对于一些8位,16
位,32位的RISC MCU是不能忍受的。不过如果是像谷歌,微软,脸书的那种服务器端的
大系统就不是什么问题了。
【在 B****S 的大作中提到】 : 什么多重继承,等等。
|
k**********g 发帖数: 989 | 4
因为C++ 没有区分类(class)和界面(interface),而面向对象(OOP)编程中常出
现一类实现多个界面的情况(见Interface Segregation Principle, ISP),多重继承
正好满足了OOP的需要。
【在 B****S 的大作中提到】 : 什么多重继承,等等。
|
d****i 发帖数: 4809 | 5 C++里面的abstract class如果都是纯虚函数没有implementation的话就相当于
interface了吧。
【在 k**********g 的大作中提到】 : : 因为C++ 没有区分类(class)和界面(interface),而面向对象(OOP)编程中常出 : 现一类实现多个界面的情况(见Interface Segregation Principle, ISP),多重继承 : 正好满足了OOP的需要。
|
w***g 发帖数: 5958 | 6 一类实现多个界面是java怕程序员搞不定多继承而找的一个折中(只能重用接口, 不能
重用代码). 有些实际问题用多继承才能实现最多的代码复用. 不过C++的发明者功力
也不够, 并没有简洁明了地解决多继承这个问题, 其中涉及的一些细节超过了常人可以
自如应用的范围. 我觉得C++中使用多重继承省的一点点代码值不上带来的不可维护性.
【在 k**********g 的大作中提到】 : : 因为C++ 没有区分类(class)和界面(interface),而面向对象(OOP)编程中常出 : 现一类实现多个界面的情况(见Interface Segregation Principle, ISP),多重继承 : 正好满足了OOP的需要。
|
t*****n 发帖数: 4908 | 7 多重继承就是花样运球
【在 B****S 的大作中提到】 : 什么多重继承,等等。
|
g*****g 发帖数: 34805 | 8 不是什么都需要继承的,需要多继承复用代码的情况下,多半应该用aggregation替代
inheritance。这年头DI架构这么多,复用对Java完全不是问题。
性.
【在 w***g 的大作中提到】 : 一类实现多个界面是java怕程序员搞不定多继承而找的一个折中(只能重用接口, 不能 : 重用代码). 有些实际问题用多继承才能实现最多的代码复用. 不过C++的发明者功力 : 也不够, 并没有简洁明了地解决多继承这个问题, 其中涉及的一些细节超过了常人可以 : 自如应用的范围. 我觉得C++中使用多重继承省的一点点代码值不上带来的不可维护性.
|
r*******n 发帖数: 3020 | 9 搞单片机的都用C吧
16
【在 d****i 的大作中提到】 : 取决于你用在什么地方场合,比如C++的多重继承在嵌入式系统的代码中通常是被禁止 : 的,多重继承带来了复杂性,容易出错,而且带了一些overhead,这对于一些8位,16 : 位,32位的RISC MCU是不能忍受的。不过如果是像谷歌,微软,脸书的那种服务器端的 : 大系统就不是什么问题了。
|
c****e 发帖数: 1453 | 10 multiple inheritance usually is not encouraged. Template is used everywhere.
Just take a look at boost, almost all reasonably large c++ codebases I
worked on heavily use that. |
|
|
B****S 发帖数: 597 | 11 码工功力必须要在实战中才能提升吗?
everywhere.
【在 c****e 的大作中提到】 : multiple inheritance usually is not encouraged. Template is used everywhere. : Just take a look at boost, almost all reasonably large c++ codebases I : worked on heavily use that.
|
b***i 发帖数: 3043 | 12 必须的
【在 B****S 的大作中提到】 : 码工功力必须要在实战中才能提升吗? : : everywhere.
|
s****a 发帖数: 238 | 13 我们公司有个内部的库,对于不同情况有不同的调用方法,前端时间用template
metaprogramming的一些技巧massage了一下把这些工作都放到了编译期完成。领导看了
十分感动然后拒绝了,因为不好维护。 |
B****S 发帖数: 597 | 14 经常看到facebook上说什么c++的发明者被ignore,但是乔布斯确是英雄。原因就在这
里,用nerd的思维永远是表现复杂性,让人望而生畏,c++学了一段时间,发现有点自
己和自己过不去。没必要什么都揉进去,最后是脑子里一堆糨糊,还是当c用。
【在 s****a 的大作中提到】 : 我们公司有个内部的库,对于不同情况有不同的调用方法,前端时间用template : metaprogramming的一些技巧massage了一下把这些工作都放到了编译期完成。领导看了 : 十分感动然后拒绝了,因为不好维护。
|
s*****n 发帖数: 5488 | 15 早说过,c++就是win8
特别是讲C++书里面列出1,2,3,4要注意的地方,一不小心就一个bug,这还能让人用吗。
【在 B****S 的大作中提到】 : 经常看到facebook上说什么c++的发明者被ignore,但是乔布斯确是英雄。原因就在这 : 里,用nerd的思维永远是表现复杂性,让人望而生畏,c++学了一段时间,发现有点自 : 己和自己过不去。没必要什么都揉进去,最后是脑子里一堆糨糊,还是当c用。
|
n******t 发帖数: 4406 | 16 我靠。别人说的是Dennis Ritchie, 那是发明C/UNIX的。
你说话还是靠谱点好不好。
【在 B****S 的大作中提到】 : 经常看到facebook上说什么c++的发明者被ignore,但是乔布斯确是英雄。原因就在这 : 里,用nerd的思维永远是表现复杂性,让人望而生畏,c++学了一段时间,发现有点自 : 己和自己过不去。没必要什么都揉进去,最后是脑子里一堆糨糊,还是当c用。
|
B****S 发帖数: 597 | 17 我这个reference用得不错。
【在 n******t 的大作中提到】 : 我靠。别人说的是Dennis Ritchie, 那是发明C/UNIX的。 : 你说话还是靠谱点好不好。
|
t*****n 发帖数: 4908 | 18 看组里人的水平。遇到特烂的和炫技的,C++不适合。如果就是吃饭的,C++非常好。
【在 s*****n 的大作中提到】 : 早说过,c++就是win8 : 特别是讲C++书里面列出1,2,3,4要注意的地方,一不小心就一个bug,这还能让人用吗。
|
x****u 发帖数: 44466 | 19 多重继承也算高级功能?
【在 B****S 的大作中提到】 : 什么多重继承,等等。
|
x****u 发帖数: 44466 | 20 见到屎要绕着走。
C++的设计者就是不停的制造垃圾语法特性。这些特性都要牺牲速度,但又不是人们最
需要的东西。
【在 s*****n 的大作中提到】 : 早说过,c++就是win8 : 特别是讲C++书里面列出1,2,3,4要注意的地方,一不小心就一个bug,这还能让人用吗。
|
|
|
p*u 发帖数: 2454 | 21
can u give us some examples?
【在 x****u 的大作中提到】 : 见到屎要绕着走。 : C++的设计者就是不停的制造垃圾语法特性。这些特性都要牺牲速度,但又不是人们最 : 需要的东西。
|
B****S 发帖数: 597 | 22 写本书,把狗屎都指出来,有人买。
【在 x****u 的大作中提到】 : 见到屎要绕着走。 : C++的设计者就是不停的制造垃圾语法特性。这些特性都要牺牲速度,但又不是人们最 : 需要的东西。
|
H**r 发帖数: 10015 | 23 Java都不支持
【在 x****u 的大作中提到】 : 多重继承也算高级功能?
|
L***n 发帖数: 6727 | 24 想知道c++实现interface最好的办法是什么,不用多重继承不行么?
性.
【在 w***g 的大作中提到】 : 一类实现多个界面是java怕程序员搞不定多继承而找的一个折中(只能重用接口, 不能 : 重用代码). 有些实际问题用多继承才能实现最多的代码复用. 不过C++的发明者功力 : 也不够, 并没有简洁明了地解决多继承这个问题, 其中涉及的一些细节超过了常人可以 : 自如应用的范围. 我觉得C++中使用多重继承省的一点点代码值不上带来的不可维护性.
|
d**o 发帖数: 864 | 25 template啊
【在 L***n 的大作中提到】 : 想知道c++实现interface最好的办法是什么,不用多重继承不行么? : : 性.
|
z****e 发帖数: 54598 | 26 java不仅不支持
而且用继承的framework都很不幸地被市场所抛弃
最典型的就是ejb
spring因为不需要继承特定的接口或者类,所以迅速占领了市场
【在 H**r 的大作中提到】 : Java都不支持
|
d****i 发帖数: 4809 | 27 abstract class with all pure virtual methods is equivalent to interface
【在 L***n 的大作中提到】 : 想知道c++实现interface最好的办法是什么,不用多重继承不行么? : : 性.
|
g*****g 发帖数: 34805 | 28 Not really, you can implement multiple interfaces, you can't extend
multiple abstract class.
【在 d****i 的大作中提到】 : abstract class with all pure virtual methods is equivalent to interface
|
i***f 发帖数: 39 | 29 Not sure what you meant, but the following code works fine in VC++.
class A1
{
virtual void f1() = 0;
virtual void f2() = 0;
};
class A2
{
virtual void g1() = 0;
virtual void g2() = 0;
};
class A12 : public A1, public A2
{
};
【在 g*****g 的大作中提到】 : Not really, you can implement multiple interfaces, you can't extend : multiple abstract class.
|
g*****g 发帖数: 34805 | 30 OK, I mess up between the languages, you are right.
That being said, design patterns today favor composition over inheritance,
multiple inheritance is not necessary in OO language.
【在 i***f 的大作中提到】 : Not sure what you meant, but the following code works fine in VC++. : class A1 : { : virtual void f1() = 0; : virtual void f2() = 0; : }; : class A2 : { : virtual void g1() = 0; : virtual void g2() = 0;
|
|
|
x****u 发帖数: 44466 | 31 Windows的话所有东西都用C++/CLI/CX写,效率瓶颈部分用C写,世界就太平了。
【在 B****S 的大作中提到】 : 写本书,把狗屎都指出来,有人买。
|
i***h 发帖数: 12655 | 32 把你话里的C++换成 Python可行不?
【在 x****u 的大作中提到】 : Windows的话所有东西都用C++/CLI/CX写,效率瓶颈部分用C写,世界就太平了。
|
x****u 发帖数: 44466 | 33 Python就算是实现逻辑也太慢。
【在 i***h 的大作中提到】 : 把你话里的C++换成 Python可行不?
|
k**********g 发帖数: 989 | 34
都封装到裤里面,里面是C++是C都不要紧,界面是C,再写个C#、Python、Java的接口
什麼pure、native、no external dependency才是反人類
【在 i***h 的大作中提到】 : 把你话里的C++换成 Python可行不?
|