请问self和@self 的区别?

altans 2006-01-23 01:34:35
在类方法和对象方法中,他们分别有什么区别呢?
...全文
194 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
快乐老猫 2006-01-23
  • 打赏
  • 举报
回复
第一个是指向当前类实体的指针;
第二个是指向指针的指针。
GARNETT2183 2006-01-23
  • 打赏
  • 举报
回复
@这个符号是用来取这个变量的内存地址的...
altans 2006-01-23
  • 打赏
  • 举报
回复
to rlqiang(不留);
hehe ,这个俺也知道,只是对于取地址啊什么的,总觉的自己是懂非懂的,什么时候应该取地址呢?
rlqiang 2006-01-23
  • 打赏
  • 举报
回复
其实你应该搞清除的是delphi中指针的用法:
定义指针:前面加 ^ 如:APTest: ^Test;
取地址:前面加@ 如:APTest := @APtest1;
取地址值:后面加^ 如:AStr := APTest^;
altans 2006-01-23
  • 打赏
  • 举报
回复
也就是说integer(@self)没什么实际意义,是吗?
NightCloud 2006-01-23
  • 打赏
  • 举报
回复
那integer(self)和integer(@self)是指指向实例的指针的地址和实例存储的内存地址吗?
不好意思,应该是说反了:
integer(self):实例存储的内存地址
integer(@self):指向实例的指针的地址
altans 2006-01-23
  • 打赏
  • 举报
回复
to NightCloud():
那integer(self)和integer(@self)是指指向实例的指针的地址和实例存储的内存地址吗?
superyys 2006-01-23
  • 打赏
  • 举报
回复
我从来没在代码里看到过@self
NightCloud 2006-01-23
  • 打赏
  • 举报
回复
self是指向本实例的指针
@self是这个指针里存的值,及这个实例存储在内存的哪里
altans 2006-01-23
  • 打赏
  • 举报
回复
将的不够清楚啊,能详细点吗
rlqiang 2006-01-23
  • 打赏
  • 举报
回复
@self取自己的地址

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧