何为长字符串的" 更新前拷贝(copy­-on-write)技术"?(30)

  • 主题发起人 主题发起人 delphi0808
  • 开始时间 开始时间
D

delphi0808

Unregistered / Unconfirmed
GUEST, unregistred user!
大概可以这样理解var s1, s2 : string;begin s1 := '长字符串'
s2 := s1;//此时s2不会复制s1的内容,而是像指针一样,内存中只有一个字符串,两个变量指向同一内存 s2 := s2 + 'XXX'
//对s1或s2的修改,造成它们的值不同时再复制出来,内存中有两个字符end;这个是为了节省内存空间设计的
 
s2 := s2 + 'XXX'
//对s1或s2的修改,造成它们的值不同时再复制出来,内存中有两个字符========================什么是"内存中有两个字符"?是不是"内存中有两个字符串"?
 
是 少打了一个字而已
 
听课,现在很少用 Delphi 了,这些都是都快要忘了。
 
Windows本身都有copy on write 机制,要是会忘记就是基本没懂过。
 
多人接受答案了。
 
后退
顶部