摘要: 銘記在心
l 在對你的類型使用 std::swap 時可能會造成效率低下時,可以提供一個 swap 成員函數(shù)。確保你的 swap 不要拋出異常。
l 如果你提供了一個 swap 的成員函數(shù),那么同時要提供一個非成員函數(shù) swap 來調(diào)用這一成員。對于類而言(而不是模板),還要提供一個 std::swap 的特化版本來調(diào)用 swap 成員函數(shù)。
l 在調(diào)用 swap 時,要為 std::swap 使用一條 using 聲明,然后在調(diào)用 swap 時,不要做出名字空間的限制。
l 對用戶自定義類型而言,提供 std 的完全特化版本不成問題,但是決不要嘗試在 std 中添加全新的內(nèi)容。
閱讀全文