关于基础概念的简单问题(50分)

  • 主题发起人 cainiaozf
  • 开始时间
C

cainiaozf

Unregistered / Unconfirmed
GUEST, unregistred user!
codelist:TStringlist
TStringlist是一个类 这个我想大家都知道
codelist就是对象了
这个对象可不可以说是一个变量?
 
我想可以吧,它就是个TStringlist类型的变量啊!
 
不能吧,变量在程序加载时就分配了内存
而codelist必须codelist:=TStringlist.Create;才分配其内存空间,在这之前操作codelist会报错。
所以不能说codelist是一个变量。
 
codelist是变量
codelist所指向的内容是对象
 
codeList是一个变量,可以看作是一个Pointer型变量
这样做一个实验
Var
codelist : TStringlist;
Pl : TList;
begin
codelist:=TStringList.create;
Pl:=TList.create;
Pl.add(codelist);
end;
大家都知道TList里只能存放Pointer型变量吧。
 
果然,我错了....指针也是变量....
codelist:=TStringlist.Create;估计和 .GetMem(Size);的作用一样,开一块内存空间
但不知能不能直接用GetMem()给codeList分配空间呢?TStringlist内部还是动态分配的吧,能不能请各位给出个例子?
 
是变量呀
 
顶部