正文
1. swap如此重要
Swap是一個非常有趣的函數(shù),最初作為STL的一部分來介紹,它已然變成了異常安全編程的中流砥柱(Item 29),也是在拷貝中應(yīng)對自我賦值的一種普通機制(Item 11)。Swap非常有用,恰當?shù)膶崿F(xiàn)swap是非常重要的,與重要性伴隨而來的是一些并發(fā)癥。在這個條款中,我們將探索這些并發(fā)癥以及如何處理它們。
2. swap的傻瓜實現(xiàn)方式及缺陷
2.1 swap函數(shù)的默認實現(xiàn)
Swap函數(shù)就是將兩個對象的值進行交換,可以通過使用標準的swap算法來實現(xiàn):
1 namespace std { 2 3 template<typename T> // typical implementation of std::swap; 4 5 void swap(T& a, T& b) // swaps a’s and b’s values 6 7 { 8 9 T temp(a);10 11 a = b;12 13 b = temp;14 15 }16 17 }
網(wǎng)友評論