自動產生移動操作的規則
在C 11 中,編譯器自動產生移動操作的能力與複製操作的規則不同在C 98 中。
移動建構子與移動賦值運算子
在下列條件下,編譯器會自動產生移動建構函式和行動賦值運算子:
不自動產生移動操作的情況
如果滿足以下任一條件,編譯器將不會自動產生移動操作:
驗證自動產生規則的工具
以下資源提供了自動產生特殊規則的直觀表示成員,包括行動操作:
[Howard Hinnant 的ACCU 2014簡報幻燈片圖片](https://i.sstatic.net/b2VBV.png)
其他說明
表中的紅色方塊表示已棄用的行為。如果您希望避免依賴棄用,請考慮遵循 C 98/03 中的「3 規則」:如果宣告析構函數,則宣告兩個副本成員,或宣告至少一個副本成員。
以上是C 11 編譯器何時自動產生移動操作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!