您好,登錄后才能下訂單哦!
本篇內容介紹了“C++中怎么正確使用swap函數”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
swap函數被廣泛地使用的方式就是假設它永遠不會失敗,而且也很難寫出即使swap出錯也能正常動作的程序。標準庫容器和算法在元素交換失敗時也無法正常工作。
Example, bad(反面示例)
void swap(My_vector& x, My_vector& y)
{
auto tmp = x; // copy elements
x = y;
y = tmp;
}
這段代碼的問題不僅是慢,而且如果因為tmp的元素發生了內存申請,如果使用它的話,這個swap可能拋出異常并令STL算法失敗。
(簡單)如果類包含swap成員函數,它應該被聲明為noexcept。
“C++中怎么正確使用swap函數”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。