std::experimental::propagate_const<T>::swap
來自 cppreference.com
< cpp | experimental | propagate const
constexpr void swap( propagate_const & pt ) noexcept(/* 參見下方 */); |
(庫基礎 TS v2) | |
將包裝的指標與 pt 的指標交換。如果 t_
表示包裝的類似指標物件的私有資料成員,則此函式等價於 swap(t_, pt.t_),其中 swap
的過載決議在 std::swap 和透過通常查詢規則找到的任何宣告之間執行,如 Swappable 中所述。
如果 T
的左值不滿足 Swappable,則行為未定義。
[編輯] 引數
pt | - | 另一個要交換的 propagate_const 物件 |
[編輯] 異常
noexcept 規範: 異常規範中識別符號 noexcept(noexcept(swap(t_, pt.t_))) swap 的查詢找到上述過載,但沒有找到成員函式本身,這使得異常規範等價於 C++17 std::is_nothrow_swappable。 |
(庫基礎 TS v2) |
noexcept 規範:
noexcept(std::is_nothrow_swappable_v<T>) |
(庫基礎 TS v3) |
[編輯] 缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
LWG 3413 | LFTSv2 | 異常規範格式錯誤 | 使其格式正確 |