社区
语言基础/算法/系统设计
帖子详情
探讨,C++和Delphi(OOP)的本质区别是什么呢?
Guade
2004-09-24 10:32:12
如题!
小弟的级别不够不能给更多的分来求教大家!请各位见谅!
我在学习和使用了Delphi一年之后,突然感到很是困惑,C++和Delphi的本质区别是什么呢?
我原来主要是用C做一些驱动的开发,对C++还不是很了解。在这里不是想争论孰优孰劣,只是想从语言的角度对比一下C++和Delphi/OOP。请各位高手赐教!
...全文
2036
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)
Delphi
高手突破-01重新认识
Delphi
本文将深入
探讨
Delphi
的魅力所在,并分享作者选择
Delphi
的理由及其对
Delphi
的理解。 #### 二、
Delphi
的魅力 **2.1 程序美学** Pascal语言本身就是一种强调程序美学的语言,而
Delphi
基于Object Pascal进一步...
编程新手真言.好东西的哇
- **用
C++
开发要学到什么程度**: 详细介绍学习
C++
编程语言的具体目标和标准。 ### 五、不同编程语言的对比 #### 语言之争 - **学编程之初,语言之争**: 分析初学者在选择编程语言时面临的常见问题。 - **语言与...
编程新手真言绝对实用
1. **C与
C++
是两种不同的语言**:尽管两者之间存在联系,但它们的设计理念和使用场景有很大区别。 2. **C的数组、指针、字符串**:C语言中的数组、指针和字符串是其基础数据类型,了解它们的用法对于编写高效的C...
Delphi
与
C++
Builder发展史:从RAD革命到跨平台复兴
摘要:
Delphi
与
C++
Builder的发展史展现了Borland在开发工具领域的革命性创新。从Turbo Pascal的快速编译和集成环境开始,Borland奠定了开发者体验至上的理念。1995年
Delphi
1.0发布,通过VCL组件库、双向工具和PME...
Borland
Delphi
7经典编程工具深度实战解析
Borland
Delphi
7作为Windows平台下经典的可视化开发工具,以其高效的Object Pascal语言和强大的VCL框架,成为20世纪90年代至21世纪初广受开发者欢迎的编程环境。其快速应用开发(RAD)能力极大提升了桌面应用程序的...
语言基础/算法/系统设计
16,743
社区成员
33,237
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章