Y ysai Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-07 #2 大概可以这样理解var s1, s2 : string;begin s1 := '长字符串' s2 := s1;//此时s2不会复制s1的内容,而是像指针一样,内存中只有一个字符串,两个变量指向同一内存 s2 := s2 + 'XXX' //对s1或s2的修改,造成它们的值不同时再复制出来,内存中有两个字符end;这个是为了节省内存空间设计的
大概可以这样理解var s1, s2 : string;begin s1 := '长字符串' s2 := s1;//此时s2不会复制s1的内容,而是像指针一样,内存中只有一个字符串,两个变量指向同一内存 s2 := s2 + 'XXX' //对s1或s2的修改,造成它们的值不同时再复制出来,内存中有两个字符end;这个是为了节省内存空间设计的
D delphi0808 Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-07 #3 s2 := s2 + 'XXX' //对s1或s2的修改,造成它们的值不同时再复制出来,内存中有两个字符========================什么是"内存中有两个字符"?是不是"内存中有两个字符串"?
s2 := s2 + 'XXX' //对s1或s2的修改,造成它们的值不同时再复制出来,内存中有两个字符========================什么是"内存中有两个字符"?是不是"内存中有两个字符串"?
L liyinwei Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-07 #5 听课,现在很少用 Delphi 了,这些都是都快要忘了。
白 白河愁 Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-08 #6 Windows本身都有copy on write 机制,要是会忘记就是基本没懂过。