【C++】寫時拷貝技術(copy-on-write)

    寫時拷貝的思想是在複製原來的內容時,如果複製後不會對原來的內容做出改變(即只讀),就不會直接複製過去,而是建立一個指針指向原來的內存,也就是淺拷貝。如果要修改原來內存上的內容,就需要重新分配內存並將原來內存上的內容拷貝到新內存上,再進行修改,即深拷貝。

    1.C++的寫時拷貝技術

    C++中的寫時拷貝技術是通過“引用計數”來實現的。也就是說,在每次分配內存時,會多分配4個字節,用來記錄有多少個指針指向該內存塊。當有新的指針指向該內存塊時,就將它的“引用計數”加1;當要釋放該空間時,就將相應的“引用計數”減1。當“引用計數”爲0時,就釋放該內存。當某個指針要修改內存中的內容時再爲這個指針分配自己的空間。

    2.Linux中的寫時拷貝技術:https://blog.csdn.net/PinkBananA_/article/details/96477045

 

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