C++空類默認(rèn)函數(shù)詳細(xì)解析
定義一個(gè)空的C++類,例如
class Empty
{
}
一個(gè)空的class在C++編譯器處理過(guò)后就不再為空,編譯器會(huì)自動(dòng)地為我們聲明一些member function,一般編譯過(guò)去就相當(dāng)于
class Empty
{
public:
Empty(); // 缺省構(gòu)造函數(shù)
Empty( const Empty& ); // 拷貝構(gòu)造函數(shù)
~Empty(); // 析構(gòu)函數(shù)
Empty& operator=( const Empty& ); // 賦值運(yùn)算符
Empty* operator&(); // 取址運(yùn)算符
const Empty* operator&() const; // 取址運(yùn)算符 const
};
一般的書上好像都是前面四種:默認(rèn)構(gòu)造函數(shù),拷貝構(gòu)造函數(shù),默認(rèn)賦值函數(shù)以及析構(gòu)函數(shù),后面兩種其實(shí)屬于,但要需要注意的是,只有當(dāng)你需要用到這些函數(shù)的時(shí)候,編譯器才會(huì)去定義它們。
如果你只是聲明一個(gè)空類,不做任何事情的話,編譯器會(huì)自動(dòng)為你生成一個(gè)默認(rèn)構(gòu)造函數(shù)、一個(gè)拷貝默認(rèn)構(gòu)造函數(shù)、一個(gè)默認(rèn)拷貝賦值操作符和一個(gè)默認(rèn)析構(gòu)函數(shù)。這些函數(shù)只有在第一次被調(diào)用時(shí),才會(huì)別編譯器創(chuàng)建。所有這些函數(shù)都是inline和public的。
相關(guān)文章
epoll多路復(fù)用的一個(gè)實(shí)例程序(C實(shí)現(xiàn))
這篇文章主要為大家詳細(xì)介紹了epoll多路復(fù)用的一個(gè)實(shí)例程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
Windows 環(huán)境下使用 Qt 連接 MySQL
這篇文章主要介紹了Windows 環(huán)境下使用 Qt 連接 MySQL的相關(guān)資料,需要的朋友可以參考下2017-07-07
Qt+QWidget實(shí)現(xiàn)簡(jiǎn)約美觀的加載動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了Qt如何結(jié)合QWidget實(shí)現(xiàn)簡(jiǎn)約美觀的加載動(dòng)畫,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
C++中線性代數(shù)計(jì)算Eigen庫(kù)的使用教程詳解
Eigen是一個(gè)基于線性代數(shù)的C++模板庫(kù),主要用于矩陣、向量、數(shù)值求解和相關(guān)算法,本文主要為大家簡(jiǎn)單聊聊Eigen庫(kù)的使用,希望對(duì)大家有所幫助2023-12-12
C++分析類的對(duì)象作類成員調(diào)用構(gòu)造與析構(gòu)函數(shù)及靜態(tài)成員
終于到了對(duì)象的初始化和清理的最后階段了,在這里分享一個(gè)cpp里有多個(gè)類時(shí),一個(gè)類的對(duì)象作為另一個(gè)類成員的時(shí)候構(gòu)造函數(shù)和析構(gòu)函數(shù)調(diào)用的時(shí)機(jī)。還有一個(gè)靜態(tài)成員也是經(jīng)??嫉降狞c(diǎn),在這篇博客將會(huì)詳解其概念并舉出案例鞏固,讓我們開始2022-05-05
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu) link 鏈表反轉(zhuǎn)的實(shí)現(xiàn)
這篇文章主要介紹了C語(yǔ)言數(shù)據(jù)結(jié)構(gòu) link 鏈表反轉(zhuǎn)的實(shí)現(xiàn)的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-09-09
C++實(shí)現(xiàn)LeetCode(312.打氣球游戲)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(312.打氣球游戲),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07

