亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

靜態const與const的C ++語義

靜態const與const的C ++語義

C++
楊__羊羊 2019-12-16 10:23:51
具體來說,在C ++中,例如之間的語義差異是什么:static const int x = 0 ;和const int x = 0 ;同時static用作鏈接和存儲類說明符(即函數內部和外部)。
查看完整描述

2 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

在文件范圍內,C ++沒有區別。 const將內部鏈接設置為默認值,并且所有全局變量都具有靜態生存期。但是第一個變體在C中的行為相同,因此這可能是使用它的一個很好的理由。

在一個函數中,第二個版本可以從參數中計算出來,在C或C ++中,它不必像某些其他語言所要求的那樣是編譯時常量。

在類中,與函數基本相同,const可以在ctor-initializer-list中計算實例值。static const在啟動初始化期間設置A ,在其余程序中保持不變。(注意:static成員的代碼看起來有些不同,因為聲明和初始化是分開的。)

請記住,在C ++中,const表示只讀,而不是常量。如果您有指向的指針const,則程序的其他部分可能會在您不查找時更改該值。如果使用定義了變量const,則初始化后沒有人可以更改它,但是初始化仍然可以是任意復雜的。


查看完整回答
反對 回復 2019-12-16
  • 2 回答
  • 0 關注
  • 479 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號