社区
语言基础/算法/系统设计
帖子详情
探讨,C++和Delphi(OOP)的本质区别是什么呢?
Guade
2004-09-24 10:32:12
如题!
小弟的级别不够不能给更多的分来求教大家!请各位见谅!
我在学习和使用了Delphi一年之后,突然感到很是困惑,C++和Delphi的本质区别是什么呢?
我原来主要是用C做一些驱动的开发,对C++还不是很了解。在这里不是想争论孰优孰劣,只是想从语言的角度对比一下C++和Delphi/OOP。请各位高手赐教!
...全文
1999
98
打赏
收藏
探讨,C++和Delphi(OOP)的本质区别是什么呢?
如题! 小弟的级别不够不能给更多的分来求教大家!请各位见谅! 我在学习和使用了Delphi一年之后,突然感到很是困惑,C++和Delphi的本质区别是什么呢? 我原来主要是用C做一些驱动的开发,对C++还不是很了解。在这里不是想争论孰优孰劣,只是想从语言的角度对比一下C++和Delphi/OOP。请各位高手赐教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
98 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rcky
2004-10-15
打赏
举报
回复
人类语言,思维
机器“语言”,“思维”
8301
2004-10-14
打赏
举报
回复
`学习`强人真多`
alphax
2004-10-14
打赏
举报
回复
也可以间接赋予它这种自动destroy能力,即使不能自动destroy,也不能说没多少用处吧,至少分配空间要快很多,尤其是大量构造某种对象以及多线程的情况下,
我下午试过了,方法和你不同,但是目前还有些欠缺的地方,就是freeinstance不好办
初步想法是在运行时刻修改对象的freeinstance方法,这样又会影响到所有该类的对象,故而还要判断对象是否在stack中,有没有好的办法能够判断指针是否在当前线程的stack中?
短歌如风
2004-10-14
打赏
举报
回复
在栈上构造对象应该是可以的:
先求出InstanceSize(先运行一下,调用类函数InstanceSize,记住这个值,定义为符号常量)
定义一个足够长的byte数组
取数组地址强制转型为TXXX类型,并调用构造函数和析构函数
不过要调用析构函数可能就需要使用汇编了,否则直接调用的话Delphi会生成释放内存块的代码,而构造函数虽然也是特殊函数但它只有用类来调用时才会分配内存,用对象来调用时相当于普通函数。
不过这种方法我没有试过,因为没有C++那种“自动析构”的能力的话在栈上分配对象并没有多少用处。
firetoucher
2004-10-14
打赏
举报
回复
Delphi的对象是建立在堆上面的。而C++的对象可以建立在栈上面。
-----
Delphi的对象也可以建在栈上,很简单,有了嵌入式汇编,没有什么“能”和“不能”的问题。
而关于op和cpp对于oo的区别:
OO是一个概念。既然是概念,就没有二义性,在那个平台上都是一样的。
现在的D也即将支持操作符重载以及内联等,以后可能对泛型有更好的支持。不过这不是op与cpp的区别,而只是具体的Delphi与具体的Cpp工具的区别。
条条大路通罗马,只是方式不一样而已。
nod一下伴水
dgfb
2004-10-14
打赏
举报
回复
Delphi的对象是建立在堆上面的。而C++的对象可以建立在栈上面。
alphax
2004-10-14
打赏
举报
回复
>>但是绝对不能用于构造/虚函数
可以理解,你还是做个示范吧
zjqyb
2004-10-14
打赏
举报
回复
但是绝对不能用于构造/虚函数
alphax
2004-10-14
打赏
举报
回复
呵呵,你说的应该是class吧,怎么又扯到object去了
你就不要保留了,说说吧
zjqyb
2004-10-14
打赏
举报
回复
Delphi的对象object也可以建在栈上,borland 早考虑了
type
ttt=object
.....
end;
var t:ttt;
t绝对再栈上
alphax
2004-10-14
打赏
举报
回复
>>Delphi的对象也可以建在栈上,
我刚才尝试了一下,好像是可以的,不过目前还有一点麻烦,
firetoucher(风焱) 是否可以把自己的方法拿出来讲讲
loveghb
2004-10-14
打赏
举报
回复
在我迷茫中......
:(
如果就在IDE中拖拖拉拉的话,就不要说是DELPHI程序员了,那就是负责拖拉的机器,简称——拖拉机(郁闷,这个名字竟然被一种运输工具给占了)
FrameSniper
2004-10-13
打赏
举报
回复
英语和法语哪个好?
中国人说都不好,还是中文好.....
zhengwa313
2004-10-13
打赏
举报
回复
http://www.netyi.net/in.asp?id=laijingping
很好的计算机资料下载网站,有兴趣的可以去看看
masterjames
2004-10-12
打赏
举报
回复
Delphi - Pascal 是最优美的语言
jack_4826
2004-10-12
打赏
举报
回复
pascal是非常接近人类语言的程序语言,所以大多数人觉得优美啊
c,c++是符号化的语言,所以机器解决的她优美啊
zuozl
2004-10-12
打赏
举报
回复
真正的程序员用VC、聪明的程序员用Delphi
这纯粹是一句骗了无数中国人的谎言.
真正的程序言,用什么都行.就像一个计算机专业的学生会熟练操作Photoshop,可是画不出什么东西,而一个画家,用Windows附带的画笔也比俺们画得好..
zuozl
2004-10-12
打赏
举报
回复
plainsong(短歌) 分析得还是比较透彻,讲到了设计也提到了实现,经验应该比较丰富.
其实作为一门开发语言他只是为设计服务的,而作为设计是人们在多年的开发软件过程中积累的一些经验(最熟知的就是模式),这些设计会影响改进现在所用的工具.为了灵活的体现人们的这个设计,人们会开发出一些新的开发工具,或修改完善现有的开发工具.就像从c->c++,pascal->object pascal,这是人们从面向过程到到面向对象思想逐渐成熟时所出现的,人们为了很好的体现面向对象设计,改进出了C++/OP这种面向对象的开发语言.因此他们本质是人们实现自己设计时的不同选择,而关键还是你的设计.
lazyboya
2004-10-12
打赏
举报
回复
什么学 Pascal 的人都说它是 最"美丽" 的语言, 而且就像 "诗" 一样
光是那么多的 begin -- end 就够人烦的了
zouchunhui
2004-10-12
打赏
举报
回复
心里发麻,怎么有这么多的强人,怎么有这么多我不知道的
加载更多回复(78)
C++
/Qt技术套餐
从
C++
编程语言开始,到Qt图形开发,精通各种图形类的使用。全面掌握
C++
面向对象思想,和泛型编程的技巧。 通过Qt中各种实用类的使用,深入理解
OOP
的精髓。
泛型编程在非
C++
语言中的实现之
探讨
泛型编程在非
C++
语言中的实现之
探讨
左轻侯2001.9.22 GP(Generic Programming,泛型编程)号称编程思想的又一次革命。但是,在论述GP的资料中,一般都是以
C++
语言为基础来讨论。那么,GP是否可以在其它的编程语言中...
泛型编程在非
C++
语言中的实现之
探讨
(转)
泛型编程在非
C++
语言中的实现之
探讨
(转)[@more@] 泛型编程在非
C++
语言中的实现之
探讨
左轻侯2001.9.22 GP(Generic Programming,泛型编程)号称编程思想的又一次革命。但是,在...
Delphi
中的多态
Delphi
中的多态2007-04-05 19:05 剖析
Delphi
中的多态1什么是多态? 21.1概念 21.2多态的意义 21.3多态在
delphi
中如何实现的? 21.3.1 继承(Inheritance) 21.3.2 虚方法、动态方法与抽象方法,VMT/DMT,静态绑定与...
剖析
Delphi
中的多态
1什么是多态?1.1概念 1.2多态的意义 1.3多态在
delphi
中如何实现的?1.3.1 继承(Inheritance) 1.3.2 虚方法、动态方法与抽象方法,VMT/DMT,静态绑定与动态绑定1.3.3 重载(Overload)与多态1.4多态种类的
探讨
1.4.1 两...
语言基础/算法/系统设计
16,748
社区成员
33,247
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章