日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
C++的關(guān)鍵字有哪些呢

這篇文章給大家介紹C++的關(guān)鍵字有哪些呢,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)公司是一家專業(yè)提供廣饒企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站制作、html5、小程序制作等業(yè)務(wù)。10年已為廣饒眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

關(guān)于C++中都有哪些關(guān)鍵字,它們都有什么用?

const與define

define是預(yù)編譯器的編譯指令,它從C語(yǔ)言兼容下來(lái),工作方式與文本編輯器中的全局搜索和替換相似。define定義的常量的意義在它開(kāi)始的地方持續(xù)到文件結(jié)束,在預(yù)編譯階段,預(yù)編譯器已經(jīng)將所有define刪除,并展開(kāi)所有的宏定義。它單純只做文本替換,沒(méi)有類型安全檢查,define命令會(huì)很容易引入錯(cuò)誤,并且這種錯(cuò)誤很難發(fā)覺(jué),因此C++中用const取代define預(yù)編譯指令。

#defineSIGMOID(x)(1/(1+exp(-x)))

result=SIGMOID(a+b);//沒(méi)有正確添加括號(hào),會(huì)導(dǎo)致錯(cuò)誤結(jié)果

result=SIGMOID((a+b));//正確

頭文件里的const

const默認(rèn)是內(nèi)部鏈接,如果它被放在頭文件中,目的是為了讓所有包含它的編譯單元能使用這個(gè)值,而且是僅讓包含頭文件的編譯單元可見(jiàn)。定義一個(gè)const時(shí),必須初始化,除非用extern做出了外部引用。通常,C++編譯器不會(huì)為const變量分配空間,但extern關(guān)鍵字會(huì)強(qiáng)制編譯器為const變量分配存儲(chǔ)空間。因?yàn)閑xtern為外部鏈接,為了其他的編譯單元都能引用到const變量。變量必須要有存儲(chǔ)空間。

注:由于編譯器不能避免為const分配內(nèi)存,所以const定義必須默認(rèn)內(nèi)部鏈接。在C++中,const常量是否被分配空間依賴于它如何被使用:對(duì)于基本數(shù)據(jù)類型的常量,編譯器會(huì)把它放到目標(biāo)文件的符號(hào)表中而不分配存儲(chǔ)空間,而自定義的const對(duì)象則需要分配存儲(chǔ)空間(大對(duì)象)。還有一些情況下也需要分配存儲(chǔ)空間,例如強(qiáng)制聲明為extern或取一個(gè)const的地址等操作。

const關(guān)鍵字與多線程安全

可重入是并發(fā)安全的保障,一個(gè)可重入的函數(shù)(函數(shù)沒(méi)有執(zhí)行完成,由于外部因素或內(nèi)部調(diào)用,又一次進(jìn)入函數(shù)執(zhí)行)在多線程的環(huán)境下可以放心使用。而為了保證一個(gè)函數(shù)是可重入的,它必須使用任何(局部)靜態(tài)或非const全局變量。同時(shí),不能返回任何(局部)靜態(tài)或非const全局變量的指針。

類中的const

在類中定義的非靜態(tài)const變量,這個(gè)類的不同的對(duì)象可以含有一個(gè)不同的值。const的初始化在類的構(gòu)造函數(shù)的初始化列表中。

staticconst——編譯期間類里的專屬常量

static意味著“不管類的對(duì)象被創(chuàng)建多少次,都只有一個(gè)實(shí)例”。必須在staticconst定義的地方對(duì)它初始化。C++用它來(lái)代替enum(枚舉型),來(lái)指示對(duì)象的共同屬性。它是為整個(gè)類服務(wù),而不是某個(gè)對(duì)象,所以它不能使用this指針(this指針是對(duì)成員函數(shù)調(diào)用時(shí)用來(lái)指示調(diào)用對(duì)象的),也不能在復(fù)制構(gòu)造函數(shù)中被復(fù)制。如果你取某個(gè)類的專屬常量的地址或編譯器堅(jiān)持要看到一個(gè)定義式,則用域名解析符定義一下。

關(guān)于C++的關(guān)鍵字有哪些呢就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


標(biāo)題名稱:C++的關(guān)鍵字有哪些呢
文章鏈接:http://www.dlmjj.cn/article/gccpes.html