关于什么是静态变量 (300分)

A

Another_eYes

Unregistered / Unconfirmed
GUEST, unregistred user!
呵呵,300分别浪费了.给我吧
 

刘麻子

Unregistered / Unconfirmed
GUEST, unregistred user!
早说过了,咬文嚼字没有意义的。OK,各位老大,就此结束争论吧。和为贵 和为贵 [:D]
 
D

dirk

Unregistered / Unconfirmed
GUEST, unregistred user!
hygsxy小弟,俺已经工作8年了,还是菜鸟一个,更不敢像你这样教训人,开口就大哥我怎样怎样,刚毕业怎么了?beta好像也毕业不久吧?千中元也比你年轻吧?会会?让我们来看看你7年的水平吧:

============================================================================
来自:南腔北调, 时间:2004-6-2 12:34:27, ID:2641053
TID的定义:
TID=class(tobject)
id: integer;
ids:string;
end;

来自:hygsxy, 时间:2004-6-2 14:01:09, ID:2641217
to kouchun
您对对像的引用机制理解有问题吧?
cid只是存储了tid.create创建对像的引用,并不是对像本身!
//////
我同意你上述的说发。但你犯了如下几个错误。
1:)procedure TComboBoxTest.CreateWnd;
var cid:tid;
begin
inherited;
。。。。。。。
。。。。。。。
end;
此时的cid是个局部变量,它的作用域是该函数体,生命期包含整个运行期。你重栽CreateWnd对象方法,并且用你自定义单元中的Tid类定义对象,你必须在该函数体中及时释放,否者会内存泄露。你在别的对象方法中释放该对象是徒劳的。你上面连续建立了3个Tid对象,其中有两个已经没有根了,当然第三个也是一个占有内存的壳。
2:)destructor TComboBoxTest.Destroy;
你的该对象方法目的无非就是释放在上面方法中释放的3个Tid对象,如上所述,肯定出错。
其实kouchun的建议并没错。


============================================================================
原帖见:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2641049

我工作这么些年来,研究生来手下实习的也有几拨人了,称兄道弟的也有,一来就趾高气扬的也有,可从不会用“大哥我已经工作n年了”云云来教训人家,算老几啊,摆资格人家就会尊重你?哈哈哈,还不如洗把脸,照照镜子,把眼屎给扣了,年纪大了,做人也该稳重点了吧?

不知Ale.和Ale有没有什么关系?呵呵
 
Z

zyzbeckham

Unregistered / Unconfirmed
GUEST, unregistred user!
就当是有人当了几年的Delphi爱好者就行了,那个问题是应为没有用到那段程序。重新试试
 
H

hygsxy

Unregistered / Unconfirmed
GUEST, unregistred user!
dirk,
麻烦你最好把我的帖子贴完整了好不好。
 

刘麻子

Unregistered / Unconfirmed
GUEST, unregistred user!
A

Ale.

Unregistered / Unconfirmed
GUEST, unregistred user!
hygsxy 兄啊,首先尊敬你以一个非计算机专业毕业人士而精通计算机专业。同样的,这里
有很多也和你一样并非计算机专业毕业而成为令人尊敬的高手,区别在于那些人是我等菜鸟
打心里认为他的技术、他的品格从头到尾是高手,而你还欠缺了点。

你没有问我,所以我也没想到要告诉你,我也不是什么计算机专业毕业、也不是你称呼中的
“小兄弟”,我比你大一倍年纪,你从来没有想过一个 45 岁的人会称你为“兄”吧?

料定你要丢一回脸,从你发贴的用词遣句里我很肯定你会如本贴里这样做。有人认为我狂也
好,疯也好,仔细读读我发的内容,里面没有开口“菜鸟”、闭口“小鬼”的。再看看我顶
楼帖子里为什么说把这个题目放到“Object Pascal”分类?我料定你说的“静态变量”会
如 tseug 老大说的东西,你想没想过这东西就算 Pascal 里有也不是 Object 的?你不会
不知道在面向对象里也有这个东西吧?如果只是你说的这个东西,大富翁论坛 n 多富翁都
已经说了又说了,而且都已经可以通过 PE Image 有限度模仿了,这个 Const 的办法怎么
说都不会需要化 7 年功力吧,最多 2 个月就够了。

第二个说明我不知道该怎么说了,hygsxy 兄啊,你 7 年的功力就弄出这么个说法?是面向
对象最容易出现的混淆啊。纯学术来说,没有一点新意和可取之处,从实用来说,还不如用
全局变量来得省心,就这样你都叫别人一口一个菜鸟,那象 tseug、Another_eYes、dirk、
zjan521 等本帖里众多高手,叫起别人来,非一口一个“猪头”、“傻瓜”不能显出他们的
水平了。

TO:ALL
我没有 Barton 那么有水平,所以也就没有他那么大脾气;也没有张无忌那么勤奋,所以也
不会奢望成为高手。大富翁论坛是不会随便就结束一个没有违犯规则的帖子的,为什么就此
结掉?你认为你已经完全明白了这个帖子里讨论的东西了?那么你也可以来随便说说的。
 
H

hygsxy

Unregistered / Unconfirmed
GUEST, unregistred user!
dirk,
你就属于这个世界上没有出息的那号人,书读多了,脑子没读傻是不是,如果你是项目组长,跟你的兄弟门估计也得饿死。你要是经理,骗子估计也得把你公司卷跑了。研究生很了不起,哦门单位还是定点的研究生实习基地,你那很了不起是不是。你教训我有那资格么?
我想听听你,工作8年,你混出个什么名堂?让我看看你是否书读多了?
 
X

xeen

Unregistered / Unconfirmed
GUEST, unregistred user!
我的理解:
1.静态变量就是编译期分配内存的变量,它随着可执行模块一起被映射到内存,生存期
与进程相同。
2.只有子类才可以引用父类的保护成员(当然OB里一个单元的也可以),好处是为了多态,
坏处是破坏了封装性。

PS:此贴跑题似乎:)
 

刘浏

Unregistered / Unconfirmed
GUEST, unregistred user!
看看看看又吵起来了不是??[:D]
 
T

tseug

Unregistered / Unconfirmed
GUEST, unregistred user!
呵呵, 本想接着往下写, 不过看大家打得热闹, 我还是少说为妙....[8D]

麻子兄的郁闷也是难免的, 不过不要怪别人, 只能怪你自己没有把问题解释的连
傻子都明白, 所以你只有发牢骚了[:D][:D]

dirk兄的有关"作人要厚道"的观点值的支持, 不过, 那篇帖子人家hygsxy说的也不错
Delphi中类的实例变量实际上是一个指针或者引用而已, 尽管那个变量是在栈上分配
的作用域仅限于当前函数, 但是这个类实例却是在堆上分配的, 所以完全可以像hygsxy
说的那样用,只不过他再循环控制上有问题哈...
 
H

hygsxy

Unregistered / Unconfirmed
GUEST, unregistred user!
不好意思。我还以为你刚毕业没多久,而且是个目空一切的一个狂学生呢?
上述发言,有失考虑,望在下能够理解。
DFW论坛我大概是在2000年知道的,我以前就注册了个号,但一直没用,原因很多(没时间,工作忙,条件不允许等等),所以那个号就荒废了,直到去年我又从新注册了个号,但依然受条件的限制,还是不常上DFW,2003年12月28号,我家按了宽带,从那时开始才养成了常来DFW的习惯。我在这个论坛里一直是在学习,一直在吸收别人的经验,我从开始到这就是抱着学习的态度来的,并没有轻视那个人的意思,因为大伙都清楚,光靠大学里的那点知识是远远满足不了社会的需求的,既然都是通过后天的努力和再学习,水平的高低就没有一个严格的界限,所以我见到了说别人提的问题如何愚蠢的回复,总想说两句。不好意思,这次碰到你了,你称呼我为兄也没有什么不合适,我堂姐跟你也差不大。
关于上面的争论其实说实在的也没有对和错之分,object pascal里的DD博大精深,任何一个概念要搞懂它,也不是像你所说的,两个月,或者更短的时间就能解决,就能明白的。你在看看世面上的书,鱼龙混杂,乱七八糟,我就没有发现有一本是纯粹的介绍object pascal语法概念的好书,从marco cantu的DELPHI3-DELPHI7从入门到精通,再到steve teixeira的DELPHI5开发人员指南,也许是译者水平蹩脚的原因,关于继承,派生等oop关键概念的解释都不很完整。以前我还以为我了解的很透呢?其实有些概念的理解并不正确。
我上面所说的静态变量的概念在DELPHI里并没有一个确切的定义,但可以通过某种变通的方法达到这种效果,到底有无实际意义,都不太好说,只有用到的时候才能下结论,但这种结论只是一家之言。关于静态变量的概念我也是在2003年的paul kimmel所著的DELPHI6开发人员指南上见到的,知道的时间也不是很长。其实好多的概念,你碰到了就会知道,没碰到自然就不会知道,道理虽然很简单,但绝对不会是用时间可以衡量的。关于是否用全局变量还是静态变量的争论,现在不好下结论,有时候用上一下,静态变量在有些时候或许更好点,但我是一直没用过。我学DELPHI断断续续有4年,一直学的不是很系统,由于受工作性质的决定,比起纯计算机专业的还有很多欠缺,大家一快在学习,还是少一点轻视,还是少一点过激的言语,毕竟大家都是来学习,又不是让谁来讲课,授业,解惑来的,如果谁有当老师的本事,在下,确实有少许的疑问想向他请教。
好了,我们的争论到次为止吧。你不会把我当作你的敌人?,至少我没有这样想。
 
O

oalongteng

Unregistered / Unconfirmed
GUEST, unregistred user!
这就对了,软件人员就是爱面子,hygsxy做的不错,知错就改,不管工作几年,都是混口饭吃,有什么好叫哦,大家心平气和,爱国爱人民爱家庭才是真的。。。。。。
 
R

renyi

Unregistered / Unconfirmed
GUEST, unregistred user!
还是该看看Java或C#,纯OO的
 
H

hygsxy

Unregistered / Unconfirmed
GUEST, unregistred user!
楼主我建议你把帖子名字改了,我看了有种挑衅的感觉,不好意思。一个要求不算过分吧。
 

爱元元的哥哥

Unregistered / Unconfirmed
GUEST, unregistred user!
T

TourAn

Unregistered / Unconfirmed
GUEST, unregistred user!
我是 http://www.delphibbs.com/delphibbs/dispq.asp?lid=2645430 的贴主!就是引起二位争论的那个贴子!不过说实话,我那个帖子的题目写的有些过激,但是为了尽快的解决问题,望广大dfw能体谅啊!

二位都牛气十足,但对我的问题却视而不见,转而去研究一些毫无意义的问题,这两个问题可能花个几个小时看看书,相信都能明白,个人觉得实际意义不大,如果是开发操作系统或开发delphi9.0可能用的上,其他不管你开发什么软件,可用性可能都为0。

如果两位牛人真的有时间的话,还是帮我解决一下我帖子的那个简单问题吧!
 

刘浏

Unregistered / Unconfirmed
GUEST, unregistred user!
TourAn也是够无聊的,你那什么问题啊?你那问题就有意义拉?
故意一直问一直问的,到底什么意思啊?看见你那帖子就烦。[:D]
 
S

sdmb

Unregistered / Unconfirmed
GUEST, unregistred user!
可以hygsxy,像个老大哥。
学术是一方面,一个人的气度很重要。
 
D

dirk

Unregistered / Unconfirmed
GUEST, unregistred user!
hygsxy,你的回话我贴完整了呀,那个帖子,且不说你对你说的东西一知半解,起码你连楼主的问题、代码都没仔细看就乱吹一气,什么内存泄漏什么的,这个名词听起来很牛B是吧?还要你给解释一下?我看南腔北调的水平只会比你高,hygsxy兄,我还是想问问你,“java sdk1.4.1与jbuilder9.0,他们都是开发java程序的环境,那选择谁好”啊?研究出来没?

tseug兄,那个问题我最后也还是解决不了,但起码帮南腔北调仔细调试了代码,分析了些问题,不像某些人,要求、代码都不看,咿哩哇啦的乱说一气,还倚老卖老。

hygsxy,就知道你会乱骂一气,你骂好了,再骂也改变不了什么,我有没有出息不由你说,你我素未萍生,你就这么下结论,看来饭是白吃了。另外,我哪有本事教训你啊,我比你多一年工龄,叫你声小弟不算教训吧?哈哈哈。另外啊,我不是书读多了,而是太少了,整天做项目,没时间看啊,有时间还真得去好好看书才行,不能总当菜鸟啊,呵呵。

还有啊,我就是项目组长,哈哈,偏偏我们项目组是公司效益最好的组,你有什么意见啊?哈哈哈。
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
425
import
I
I
回复
0
查看
415
import
I
顶部