首頁 >後端開發 >C++ >預設建構函式和析構函式的「=default」和「{}」有什麼差別?

預設建構函式和析構函式的「=default」和「{}」有什麼差別?

DDD
DDD原創
2024-12-22 12:00:41778瀏覽

What's the Difference Between

區分預設建構子和析構函式的「=default」和「{}」

而「=default」和「{ }” 「對於虛擬析構函數似乎可以互換,它們在用於預設建構函式和非虛擬建構函式時表現出顯著差異析構函式。

預設建構子

對於預設建構函數,「=default」明確指示編譯器產生預設建構函數。 }”預設建構子)會刪除此分類。

析構函數

在這種情況下在虛擬析構函數中,「=default」和「{}」的差異很小。 “=default”表示編譯器產生的析構函數,而“{}”表示用戶提供的析構函數。 」之間進行選擇時,請考慮該類是否應被視為瑣碎類。 「=default」透過將函數產生委託給編譯器來保持瑣碎性,而「{}」則創建使用者提供的函數,影響類別的瑣碎性狀態。

以上是預設建構函式和析構函式的「=default」和「{}」有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn