第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么需要在類外部定義靜態(tài)數(shù)據(jù)成員?

為什么需要在類外部定義靜態(tài)數(shù)據(jù)成員?

C++
牛魔王的故事 2019-10-21 10:46:48
根據(jù)IBM C ++知識(shí)中心上的靜態(tài)數(shù)據(jù)成員的說(shuō)法:類的成員列表中的靜態(tài)數(shù)據(jù)成員的聲明不是定義。您必須在名稱空間范圍內(nèi)的類聲明之外定義靜態(tài)成員。這是為什么?關(guān)于內(nèi)存分配的原理圖是什么?
查看完整描述

3 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

這是一種語(yǔ)言規(guī)則,稱為“ 一個(gè)定義規(guī)則”。在程序中,每個(gè)靜態(tài)對(duì)象(如果已使用)必須定義一次,并且只能定義一次。

類定義通常放在頭文件中,頭文件包含在多個(gè)翻譯單元中(即來(lái)自多個(gè)源文件)。如果靜態(tài)對(duì)象在標(biāo)頭中的聲明是一個(gè)定義,那么您將得到多個(gè)定義,每個(gè)包含標(biāo)頭的單元中的定義都會(huì)違反規(guī)則。因此,它不是一個(gè)定義,您必須在其他位置提供一個(gè)定義。

原則上,該語(yǔ)言可以執(zhí)行內(nèi)聯(lián)函數(shù),將多個(gè)定義合并為一個(gè)定義。但事實(shí)并非如此,因此我們堅(jiān)持使用此規(guī)則。


查看完整回答
反對(duì) 回復(fù) 2019-10-21
?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊

從C ++ 17開(kāi)始,您現(xiàn)在可以在類內(nèi)定義靜態(tài)數(shù)據(jù)成員。參見(jiàn)cppreference:


可以將靜態(tài)數(shù)據(jù)成員聲明為內(nèi)聯(lián)。內(nèi)聯(lián)靜態(tài)數(shù)據(jù)成員可以在類定義中定義,并且可以指定初始化程序。它不需要類外定義:


struct X {

     inline static int n = 1; 

};


查看完整回答
反對(duì) 回復(fù) 2019-10-21
  • 3 回答
  • 0 關(guān)注
  • 913 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)