六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 28|回复: 0

基于栈的对象

[复制链接]

升级  34.35%

547

主题

547

主题

547

主题

探花

Rank: 6Rank: 6

积分
1687
 楼主| 发表于 2013-1-26 13:40:26 | 显示全部楼层 |阅读模式
基于栈的对象

C++的对象是基于栈的,你可以像普通数据类型一样声明它,访问它的成员,调用它的方法,然后由编译器自动清理栈现场,C++的对象更像一个增强的结构。
而后来的许多面向对象语言如Java,C#等都采用了基于堆的对象机制。Object Pascal呢?毫无疑问它的对象也是基于堆的,当我们看到对象与指针进行转换的代码时,觉得很正常,因为OP对象本质上就是一个指针。
那么Delphi只有基于堆的对象吗?它会不会存在一种基于栈的对象呢?回答这个问题之前先来看看下面的代码:
<div style="padding-right: 4pt; padding-left: 4pt; background: #e0e0e0; padding-bottom: 1pt; padding-top: 1pt;">var

People: TPeople;

begin

People.Name := 'Tom';

People.SayMyName;

end;
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表