***************************************转载请注明出处:http://blog.youkuaiyun.com/lttree********************************************
四、Designs and Declarations
Rule 25:Consider support for a non-throwing swap
规则 25:考虑写出一个不抛异常的 swap 函数
swap 是一个有趣的函数。
原本它只是STL的一部分,而后成为异常安全性编程(exception-safe programming,详见条款29)的脊柱,以及用来处理自我赋值可能性的一个常见机制。
然而在非凡的重要性之外它也带来了非凡的复杂度。
本条款将探讨这些复杂度及因应之道。
1.一些基本的东西
所谓swap(置换)两对象的值,意思是将两对象的值彼此赋予对方。

本文深入探讨了C++中swap函数的重要性,特别是在异常安全性和自我赋值处理中的角色。通过分析如何为类和类模板提供非抛异常的swap实现,包括成员函数和非成员函数版本,并讨论了特化std::swap的情况,强调了在编写高效swap函数时应遵循的规则和最佳实践。
最低0.47元/天 解锁文章
796

被折叠的 条评论
为什么被折叠?



