设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1702|回复: 1
打印 上一主题 下一主题

[已经过期] 关于@

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
20 小时
注册时间
2013-10-4
帖子
14
跳转到指定楼层
1
发表于 2013-10-26 19:54:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我到现在还是不能理解实例变量的具体应用方式
可不可以这么理解,实例变量就是可在一个类内任意调用的变量,而局部变量是在一个定义内任意调用的变量,而
$则是在所有类内都可以调用的变量?

Lv3.寻梦者

梦石
0
星屑
3570
在线时间
3064 小时
注册时间
2011-11-17
帖子
980
2
发表于 2013-10-26 21:24:42 | 只看该作者
本帖最后由 yagami 于 2013-10-26 21:25 编辑

内存布局 其中有3块 栈 堆 全局区  
类的实例 也可说对象 一般都是new出来的(在C里有些时候是直接在栈里生成的 不用new) 这时这个对象内存所在区域就是堆 堆一般是由程序员自由分配的区域 RUBY有内存回收机制 但是你完全可以不依赖这机制 手动释放内存 @的变量 作为实例的实变量 也可以说是成员变量 当然和类的实例一样存放在堆里 这个变量的生命周期 也就是实例的周期 当实例被销毁时  这个变量也就被回收了  
局部变量 一般都在栈里 栈的特点 先进后出 紧密排列 高效  局部变量 一般在函数里生成 当函数结束时 也就被销毁了

我定义了个 xxx函数 当调用该函数时先生成a 放到栈里 在生成b 放在a的上面
等函数结束时 回收局部变量 因为在栈里 先回收b 再回收a 先进后出原则
至于全局变量 放在全局区 生命周期 是整个程序运行时   当程序结束才回收   

评分

参与人数 1星屑 +90 收起 理由
myownroc + 90 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-30 04:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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