神秘的=delete:定義類別功能
在 C 中,函數宣告後面的 =delete 語法具有重要的用途。它表示顯式刪除函數。 C 11 中引入的此功能提供了對類別行為的前所未有的控制。
什麼=刪除完成
當一個函數被刪除時,它實際上被禁止調用,即,不能在該類的對像上調用它。當人們希望禁止複製或賦值操作或阻止某些轉換時,這種方法特別有用。
例如,在以下程式碼片段中:
class my_class { ... my_class(my_class const &) = delete; ... };
建構子 my_class(my_class const & ) 被故意標記為已刪除,從而阻止建立複製建構子。
擴充複製和刪除之外的功能
除了刪除函數的能力之外,C 還提供了額外的功能可以附加到函數宣告的修飾符。其中包括:
自訂類別行為
如圖所示,= delete 語法和其他修飾子使程式設計師能夠精確自訂類別功能。透過刪除函數或強制執行其他規定,類別設計者可以有效地指導與其物件的交互,確保它們按預期運行。
以上是C 類別定義中的 `= delete` 語法有什麼作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!