C++變量

變量

變量其實(shí)只不過是程序可操作的存儲(chǔ)區(qū)的名稱掠归。 C++ 中每個(gè)變量都有指定的類型掀亩,類型決定了變量存儲(chǔ)的大小和布局,該范圍內(nèi)的值都可以存儲(chǔ)在內(nèi)存中锻离,運(yùn)算符可應(yīng)用于變量上铺峭。

C++ 中的變量聲明

變量聲明向編譯器保證變量以給定的類型和名稱存在,這樣編譯器在不需要知道變量完整細(xì)節(jié)的情況下也能繼續(xù)進(jìn)一步的編譯汽纠。變量聲明只在編譯時(shí)有它的意義卫键,在程序連接時(shí)編譯器需要實(shí)際的變量聲明怜庸。

int    i, j, k;
char   c, ch;
float  f, salary;
double d;
extern int d = 3, f = 5;    // d 和 f 的聲明 
int d = 3, f = 5;           // 定義并初始化 d 和 f
byte z = 22;                // 定義并初始化 z
char x = 'x';               // 變量 x 的值為 'x'

不帶初始化的定義:帶有靜態(tài)存儲(chǔ)持續(xù)時(shí)間的變量會(huì)被隱式初始化為 NULL(所有字節(jié)的值都是 0)嗽测,其他所有變量的初始值是未定義的。

C++ 中的左值(Lvalues)和右值(Rvalues)

C++ 中有兩種類型的表達(dá)式:

  • 左值(lvalue):指向內(nèi)存位置的表達(dá)式被稱為左值(lvalue)表達(dá)式陕悬。左值可以出現(xiàn)在賦值號(hào)的左邊或右邊碴犬。
  • 右值(rvalue):術(shù)語右值(rvalue)指的是存儲(chǔ)在內(nèi)存中某些地址的數(shù)值絮宁。右值是不能對(duì)其進(jìn)行賦值的表達(dá)式,也就是說服协,右值可以出現(xiàn)在賦值號(hào)的右邊绍昂,但不能出現(xiàn)在賦值號(hào)的左邊。

變量是左值偿荷,因此可以出現(xiàn)在賦值號(hào)的左邊窘游。數(shù)值型的字面值是右值,因此不能被賦值跳纳,不能出現(xiàn)在賦值號(hào)的左邊忍饰。下面是一個(gè)有效的語句:

int g = 20;

但是下面這個(gè)就不是一個(gè)有效的語句,會(huì)生成編譯時(shí)錯(cuò)誤:

10 = 20;

C++ 變量作用域 variable scope

作用域是程序的一個(gè)區(qū)域寺庄,一般來說有三個(gè)地方可以定義變量:

  • 在函數(shù)或一個(gè)代碼塊內(nèi)部聲明的變量艾蓝,稱為局部變量(local variable)力崇。
  • 在函數(shù)參數(shù)的定義中聲明的變量,稱為形式參數(shù)(parameter)赢织。
  • 在所有函數(shù)外部聲明的變量餐曹,稱為全局變量(global variable)

變量的初始化

// initialization of variables

#include <iostream>
using namespace std;

int main ()
{
  int a=5;               // initial value: 5   C風(fēng)格初始化
  int b(3);              // initial value: 3   ()初始化
  int c{2};              // initial value: 2   {}初始化
  
  int result;            // initial value undetermined

  a = a + b;
  result = a - c;
  cout << result;

  return 0;
}

以上敌厘,初始化變量的所有三種方式在C++中都是有效且等效的台猴。

類型扣除:auto和decltype

初始化新變量時(shí),編譯器可以通過初始化程序自動(dòng)確定變量的類型俱两。為此饱狂,只需使用auto變量的類型說明符:

int foo = 0;
auto bar = foo;  // the same as: int bar = foo; 

這里,bar聲明有一個(gè)auto類型; 因此宪彩,type bar是用于初始化它的值的類型:在這種情況下休讳,它使用的類型fooint

未初始化的變量也可以使用帶有說明decltype符的類型推導(dǎo):

int foo = 0;
decltype(foo) bar;  // the same as: int bar; 

這里尿孔,bar被聲明為具有相同的類型foo俊柔。

auto并且decltype是最近添加到該語言的強(qiáng)大功能。但是活合,它們引入的類型推導(dǎo)功能意味著在通過其他方式無法獲得類型或使用它時(shí)提高代碼可讀性時(shí)使用雏婶。上面的兩個(gè)例子可能都不是這些用例。事實(shí)上白指,它們可能降低了可讀性留晚,因?yàn)樵陂喿x代碼時(shí),必須搜索foo實(shí)際知道類型的類型bar告嘲。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末错维,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子橄唬,更是在濱河造成了極大的恐慌赋焕,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仰楚,死亡現(xiàn)場(chǎng)離奇詭異隆判,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)缸血,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門蜜氨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來械筛,“玉大人捎泻,你說我怎么就攤上這事÷裼矗” “怎么了笆豁?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵郎汪,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我闯狱,道長(zhǎng)煞赢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任哄孤,我火速辦了婚禮照筑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瘦陈。我一直安慰自己凝危,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布晨逝。 她就那樣靜靜地躺著蛾默,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捉貌。 梳的紋絲不亂的頭發(fā)上支鸡,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音趁窃,去河邊找鬼牧挣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛醒陆,可吹牛的內(nèi)容都是我干的浸踩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼统求,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼检碗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起码邻,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤折剃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后像屋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怕犁,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年己莺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奏甫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凌受,死狀恐怖阵子,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胜蛉,我是刑警寧澤挠进,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布色乾,位于F島的核電站,受9級(jí)特大地震影響领突,放射性物質(zhì)發(fā)生泄漏暖璧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一君旦、第九天 我趴在偏房一處隱蔽的房頂上張望澎办。 院中可真熱鬧,春花似錦金砍、人聲如沸浮驳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽至会。三九已至,卻和暖如春谱俭,著一層夾襖步出監(jiān)牢的瞬間奉件,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工昆著, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留县貌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓凑懂,卻偏偏與公主長(zhǎng)得像煤痕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子接谨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 話說N年前摆碉,有人把“五講四美三熱愛”翻譯成英文,想到國(guó)際上去推廣脓豪。那英文翻譯為:“five talks巷帝,four ...
    張責(zé)乘閱讀 2,662評(píng)論 0 0
  • 西陵雪莉的出現(xiàn)讓整個(gè)院子都靜了下來。 “這就是將軍府嫡出大小姐吧扫夜±闫茫” “長(zhǎng)得倒真當(dāng)俊俏,和她站在一起雨凝媚這個(gè)京城...
    見習(xí)魔法師閱讀 267評(píng)論 0 1
  • 翰H閱讀 209評(píng)論 0 0
  • 虞美人~ 這是一張仰視的草稿笤闯。 鋪一層底色堕阔,每一次鋪完底色都有一種畫完的感覺】盼叮可惜顏色比較淡超陆。 畫上莖葉,以及加上...
    54b4972e410d閱讀 603評(píng)論 0 7