溫馨提示×

c++11以后default更多用法有哪些

c++
小樊
99
2024-07-10 11:06:25
欄目: 編程語言

在C++11以后,default關(guān)鍵字的使用方式得到了擴展,主要有以下幾種用法:

  1. 默認(rèn)構(gòu)造函數(shù)中的defaulted函數(shù)體:在類的構(gòu)造函數(shù)聲明中指定default關(guān)鍵字來聲明默認(rèn)的構(gòu)造函數(shù),例如 ClassName() = default; 。

  2. 默認(rèn)析構(gòu)函數(shù)中的defaulted函數(shù)體:在類的析構(gòu)函數(shù)聲明中指定default關(guān)鍵字來聲明默認(rèn)的析構(gòu)函數(shù),例如 ~ClassName() = default; 。

  3. 默認(rèn)拷貝構(gòu)造函數(shù)和拷貝賦值操作符中的defaulted函數(shù)體:在類中指定default關(guān)鍵字來聲明默認(rèn)的拷貝構(gòu)造函數(shù)和拷貝賦值操作符,例如 ClassName(const ClassName&) = default;ClassName& operator=(const ClassName&) = default; 。

  4. 默認(rèn)移動構(gòu)造函數(shù)和移動賦值操作符中的defaulted函數(shù)體:在類中指定default關(guān)鍵字來聲明默認(rèn)的移動構(gòu)造函數(shù)和移動賦值操作符,例如 ClassName(ClassName&&) = default;ClassName& operator=(ClassName&&) = default; 。

  5. 默認(rèn)虛函數(shù)中的defaulted函數(shù)體:在基類的虛函數(shù)聲明中指定default關(guān)鍵字來聲明默認(rèn)的虛函數(shù),例如 virtual void foo() = default; 。

總的來說,default關(guān)鍵字的擴展用法提供了更便捷的方式來聲明默認(rèn)的特殊成員函數(shù)和虛函數(shù)。

0