由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - c++的高级的东东在实际项目开发中到底有没有很大的应用阿?
相关主题
代码复用:复制粘贴是一个很好的办法,不亚于继承不知该选择什么方向,大牛们能给点建议吗
一个奇怪的问题公司高层要软件组接管我们的嵌入式软件
If you say that a is 5, you can't say it's something else l说说我以前做的ultra low latency架构吧
问个 C++到C的问题如何优化这段C代码
码工们干活的时候都在用什么IDE?Re: java inner class - 初学者问 (转载)
go做得越来越好了啊,已经有人开始用go实现jvm了recursion实际工作中用得多吗? (转载)
请推荐C++开发环境stackoverflow上随便一个nodejs跟其他同类的比较
深入说说Nest一般桌面程序需要Single Design Pattern吗
相关话题的讨论汇总
话题: c++话题: 继承话题: class话题: virtual话题: multiple
进入Programming版参与讨论
1 (共1页)
B****S
发帖数: 597
1
什么多重继承,等等。
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.
相关主题
go做得越来越好了啊,已经有人开始用go实现jvm了不知该选择什么方向,大牛们能给点建议吗
请推荐C++开发环境公司高层要软件组接管我们的嵌入式软件
深入说说Nest说说我以前做的ultra low latency架构吧
进入Programming版参与讨论
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,这还能让人用吗。

相关主题
如何优化这段C代码stackoverflow上随便一个nodejs跟其他同类的比较
Re: java inner class - 初学者问 (转载)一般桌面程序需要Single Design Pattern吗
recursion实际工作中用得多吗? (转载)其实想学就学fp,不学就算了
进入Programming版参与讨论
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;

相关主题
新东西实在太多一个奇怪的问题
builder pattern是一次性还是可复用好?If you say that a is 5, you can't say it's something else l
代码复用:复制粘贴是一个很好的办法,不亚于继承问个 C++到C的问题
进入Programming版参与讨论
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可行不?
1 (共1页)
进入Programming版参与讨论
相关主题
一般桌面程序需要Single Design Pattern吗码工们干活的时候都在用什么IDE?
其实想学就学fp,不学就算了go做得越来越好了啊,已经有人开始用go实现jvm了
新东西实在太多请推荐C++开发环境
builder pattern是一次性还是可复用好?深入说说Nest
代码复用:复制粘贴是一个很好的办法,不亚于继承不知该选择什么方向,大牛们能给点建议吗
一个奇怪的问题公司高层要软件组接管我们的嵌入式软件
If you say that a is 5, you can't say it's something else l说说我以前做的ultra low latency架构吧
问个 C++到C的问题如何优化这段C代码
相关话题的讨论汇总
话题: c++话题: 继承话题: class话题: virtual话题: multiple