Copy on write寫時復制
引用計數(shù)是Copy on Write實現(xiàn)的前提。 當然是在共享同一塊內(nèi)存的類發(fā)生內(nèi)容改變時,才會發(fā)生Copy-On-Write。比如string類的[]、=、+=、+、操作符賦值,還有一些string類中諸如insert、replace、append等成員函數(shù),包括類的析構(gòu)時。 修改數(shù)據(jù)才會觸發(fā)Copy-On-Write,不修改當然就不會改啦。這就是托延戰(zhàn)術(shù)的真諦,非到要做的時候才去做。
更新:在最新的STL中,這個特性已經(jīng)被去掉了。有一個原因是線程不安全!COW其實還是比較危險的。
標簽: