1.const 修飾指針
( 1 ) const?int?*p=&x :不可改動(dòng) *p 的內(nèi)容,但能夠讓指針 p 指向還有一個(gè)地址,和 int?const?*p 一樣 ?
( 2 ) int?*const?p=&x :指針本身是個(gè)常量,固定指向某一變量,因此 p 不可變,可是 *p 可變
2.const 修飾函數(shù)
( 1 )函數(shù)參數(shù)前加 const 是保護(hù)指針,引用傳遞的值不可改動(dòng)
( 2 )類(lèi)的成員函數(shù)后面加 const ,表面該函數(shù)不能改動(dòng)成員變量,不可調(diào)用非 const 成員函數(shù)
3.Volatile
訪(fǎng)問(wèn)寄存器要比訪(fǎng)問(wèn)內(nèi)存快得多,編譯器往往將頻繁使用的變量保存在寄存器中,以便保證存取速度,這可能會(huì)導(dǎo)致變量臟讀。用 Volatile 修飾的變量每次都會(huì)從內(nèi)存讀取,防止臟讀
4.Static
( 1 )隱藏。 ? 當(dāng)我們同一時(shí)候編譯多個(gè)文件時(shí),全部未加 static 前綴的全局變量和函數(shù)都具有全局可見(jiàn)性,故使用 static 在不同的文件里定義同名函數(shù)和同名變量,而不必操心命名沖突。
( 2 ) static 的第二個(gè)作用是保持變量?jī)?nèi)容的持久。存儲(chǔ)在靜態(tài)數(shù)據(jù)區(qū)的變量會(huì)在程序剛開(kāi)始執(zhí)行時(shí)就完畢初始化,也是唯一的一次初始化。共同擁有兩種變量存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū):全局變量和 static 變量。
( 3 ) static 的第三個(gè)作用是默認(rèn)初始化為 0. 事實(shí)上全局變量也具備這一屬性,由于全局變量也存儲(chǔ)在靜態(tài)數(shù)據(jù)區(qū)。在靜態(tài)數(shù)據(jù)區(qū),內(nèi)存中全部的字節(jié)默認(rèn)值都是 0 × 00, 某些時(shí)候這一特點(diǎn)能夠降低程序猿的工作量。
?
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

