TList中保存Pointer(String)是否安全
var
lst : Tlist
/////创建示例和初始化lst等等
procedure test()
var
tmp : string;
begin
tmp := 'abc';
lst.add(pointer(tmp));
end;
procedure show()
begin
//对lst的item转回string类型进行操作,是否安全
end;
请问这样将string直接转pointer添加到tlist中,是对原string变量的引用计数增加?还是复制创建了新的内存,是否有内存泄漏或者非法内存访问隐患,如果有,如何验证??
我问的问题可能不太明确,我是想知道函数中生命的局部变量string作为pointer添加到TList里之后,函数结束了局部变量string会被释放,会不会影响TList里的那个pointer(string)
不会,string是生存期自管理类型。