S
sjjwan
Unregistered / Unconfirmed
GUEST, unregistred user!
procedure setvalue;
var
x: string;
y: string;
begin
x := 'skddkk';
x := x + 'adskd';
y := x;
showmessage;
end;
我在过程中定义string分配在类型,字符串是哪里的?为什么它不需要引用计数?(发现引用计数为-1)那又是什么时候释放内存的呢?但如果x,y为全局变量,字符串是分配在哪里的呢?它是有引用计数,系统是通过引用计数来决定是否释放内存的。向x := x + 'sksdkdk'又重新指向了内存,'skddkk'字符串是否已释放?如果释放,又是根据什么释放的呢?因为它没有引用计数。
var
x: string;
y: string;
begin
x := 'skddkk';
x := x + 'adskd';
y := x;
showmessage;
end;
我在过程中定义string分配在类型,字符串是哪里的?为什么它不需要引用计数?(发现引用计数为-1)那又是什么时候释放内存的呢?但如果x,y为全局变量,字符串是分配在哪里的呢?它是有引用计数,系统是通过引用计数来决定是否释放内存的。向x := x + 'sksdkdk'又重新指向了内存,'skddkk'字符串是否已释放?如果释放,又是根据什么释放的呢?因为它没有引用计数。