【C++】写时拷贝技术(copy-on-write)

    写时拷贝的思想是在复制原来的内容时,如果复制后不会对原来的内容做出改变(即只读),就不会直接复制过去,而是建立一个指针指向原来的内存,也就是浅拷贝。如果要修改原来内存上的内容,就需要重新分配内存并将原来内存上的内容拷贝到新内存上,再进行修改,即深拷贝。

    1.C++的写时拷贝技术

    C++中的写时拷贝技术是通过“引用计数”来实现的。也就是说,在每次分配内存时,会多分配4个字节,用来记录有多少个指针指向该内存块。当有新的指针指向该内存块时,就将它的“引用计数”加1;当要释放该空间时,就将相应的“引用计数”减1。当“引用计数”为0时,就释放该内存。当某个指针要修改内存中的内容时再为这个指针分配自己的空间。

    2.Linux中的写时拷贝技术:https://blog.csdn.net/PinkBananA_/article/details/96477045

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章