名稱空間
變體
操作

std::experimental::propagate_const<T>::swap

來自 cppreference.com
 
 
實驗性
技術規範
檔案系統庫 (檔案系統 TS)
庫基礎 (庫基礎 TS)
庫基礎 2 (庫基礎 TS v2)
庫基礎 3 (庫基礎 TS v3)
並行性擴充套件 (並行性 TS)
並行性擴充套件 2 (並行性 TS v2)
併發性擴充套件 (併發性 TS)
併發擴充套件 2 (併發 TS v2)
概念 (概念 TS)
範圍 (範圍 TS)
反射 (反射 TS)
數學特殊函式 (特殊函式 TR)
實驗性非 TS
模式匹配
線性代數
std::execution
契約
2D 圖形
 
 
 
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 規範:  
(庫基礎 TS v3)

[編輯] 缺陷報告

下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。

缺陷報告 應用於 釋出時的行為 正確的行為
LWG 3413 LFTSv2 異常規範格式錯誤 使其格式正確