写时拷贝是指当多个变量指向同一块空间时,当其中的一个变量要对其修改时,将会发生复制情况,内存先分配空间给变量,然后将数据拷贝到新的内存上,将想要修改的变量指向这块新的内存,再对其修改。
C++具体实现:
s1和s2 同时指向这块内存,此时这块内存的计数器为2表示,当前有两个变量同时指向同一块内存空间
当执行s[2]="w"时则原来的内存计数器-1;s2指向新的内存空间,同时将新的内存空间的计数器置为1,s[2]="w"
写时拷贝是指当多个变量指向同一块空间时,当其中的一个变量要对其修改时,将会发生复制情况,内存先分配空间给变量,然后将数据拷贝到新的内存上,将想要修改的变量指向这块新的内存,再对其修改。
C++具体实现:
s1和s2 同时指向这块内存,此时这块内存的计数器为2表示,当前有两个变量同时指向同一块内存空间
当执行s[2]="w"时则原来的内存计数器-1;s2指向新的内存空间,同时将新的内存空间的计数器置为1,s[2]="w"