正文
1. swap如此重要
Swap是一个非常有趣的函数,最初作为STL的一部分来介绍,它已然变成了异常安全编程的中流砥柱(Item 29),也是在拷贝中应对自我赋值的一种普通机制(Item 11)。Swap非常有用,恰当的实现swap是非常重要的,与重要性伴随而来的是一些并发症。在这个条款中,我们将探索这些并发症以及如何处理它们。
2. swap的傻瓜实现方式及缺陷
2.1 swap函数的默认实现
Swap函数就是将两个对象的值进行交换,可以通过使用标准的swap算法来实现:
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 }
网友评论


