使用記憶體新主張CopyOnWrite(寫時拷貝)

2021-08-22 06:00:26 字數 989 閱讀 1932

一、什麼是寫時拷貝技術?

寫時拷貝技術可以理解為「寫的時候才去分配空間」,這實際上是一種拖延戰術。

舉個栗子:

二、寫時拷貝技術原理:

寫時拷貝技術是通過"引用計數"實現的,在分配空間的時候多分配4個位元組,用來記錄有多少個指標指向塊空間,當有新的指標指向這塊空間時,引用計數加一,當要釋放這塊空間時,引用計數減一(假裝釋放),直到引用計數減為0時才真的釋放掉這塊空間。當有的指標要改變這塊空間的值時,再為這個指標分配自己的空間(注意這時引用計數的變化,舊的空間的引用計數減一,新分配的空間引用計數加一)。

利用寫時拷貝技術實現簡單string類

#include "stdafx.h"

#include "copyonwrite.h"

cstring::cstring(const char* buff)

cstring::cstring(cstring& other)

cstring& cstring::operator=(cstring& other)

lpszbuff = other.lpszbuff;//此處的順序很重要!!!

pint = (int*)(lpszbuff-4); (*pint)++;

} return *this;

}cstring::~cstring()

}char& cstring::operator(size_t index)

#pragma once

#include#include#include#includeusing namespace std;

class cstring;

void main()

綠色家居新主張 風能產品創造環保生活

什麼樣的家居才是最理想的環保家居?答案是多利用清潔能源的家居,風能是地球表面大量空氣流動所產生的動能。這種取之不盡的能量將成為環保家居的新生力量。節能新態度 風力發電機 家用風力發電機作為分布式電源的一種,以其小型模組化 分布式 布置在使用者附近的高效 可靠的發電模式成為一種新型的 具有廣闊發展前景...

比依空氣炸鍋,美食每刻新主張

近年來,科學健康的飲食已經成為了當代人的熱議話題,而被人們稱為 垃圾食品 油炸食品,一直因其酥脆的口感和誘人的香氣,讓很多人難以抗拒。面對美味與健康的取捨,很多人一直是進退兩難,於是能夠實現 無油烹飪 的健康烹飪神器 空氣炸鍋,迅速出現在了人們的視野中,成為了廚房烹飪的新寵。其中,國產品牌比依空氣炸...

大學生就業新主張,3G你離我多遠?

大學生就業新主張,3g 你離我多遠?3g 井噴帶來的人才缺口 3g 第三代移動通訊技術 是近年來通訊業和 it業共同關注的話題。縱觀 09年中國 3g市場,也進入快速成長的階段。各運營商的 3g網路建設進展迅速,年底 3g網路將覆蓋我國的大部分城市,3g使用者也得到快速發展,截止09年 9月我國 3...