把一個(gè)值賦值給一個(gè)無(wú)符號(hào) 類型的變量的時(shí)候涣楷,如果該值超過(guò)了該變量能夠表示的范圍,那么結(jié)果就是該變量獲得了該值經(jīng)過(guò)對(duì)表示范圍大小求模運(yùn)算后落在表示范圍內(nèi)的值抗碰。比如 1 個(gè)字節(jié)的
unsigned char
能夠表示 0 到 255 區(qū)間內(nèi)的值狮斗,表示范圍大小為 256,如果你給它賦一個(gè) -3 (顯然不落在 [0,255])弧蝇,那么該變量拿到的值是 -3 % 256 = -3 + 256 = 253碳褒。269 的話就是 269 % 256 = 269 - 256 = 13。相對(duì)地看疗,把一個(gè)值賦值給一個(gè)有符號(hào) 類型的變量的時(shí)候沙峻,如果該值超過(guò)了該變量能夠表示的范圍,賦值結(jié)果是未定義的两芳,該過(guò)程可以正確編譯摔寨,但是運(yùn)行了之后會(huì)發(fā)生什么事情是不可預(yù)知的,對(duì)于不同的編譯器可能有不同的結(jié)果怖辆,可能是崩潰是复,可能是不正確的數(shù)據(jù)删顶,還有可能是其他的事情,所以不要這么做淑廊。
有無(wú)符號(hào)數(shù)參與運(yùn)算的時(shí)候逗余,結(jié)果一定是落在無(wú)符號(hào)數(shù)的表示范圍值內(nèi)的〗常快速口算的時(shí)候可以先全當(dāng)作有符號(hào)猎荠,之后把計(jì)算結(jié)果模到無(wú)符號(hào)表示范圍就行。但是實(shí)際上計(jì)算機(jī)不是這么計(jì)算的蜀备。
例如
int + unsigned int
的時(shí)候关摇,會(huì)把int
轉(zhuǎn)為unsigned int
。-42 + 10
碾阁,其中-42
是int
類型输虱,10
是unsigned int
類型,那么在加法運(yùn)算前脂凶,-42
會(huì)轉(zhuǎn)為unsigned int
的值宪睹,也就是 4294967254,然后再加10
蚕钦,變成 4294967264亭病,落在了表示范圍內(nèi),所以結(jié)果就是這個(gè)嘶居。如果再多加一點(diǎn)罪帖,例如給-42
加的不是10
而是50
,運(yùn)算結(jié)果是 4294967304 超過(guò)了 2^32-1邮屁,那么對(duì)加法結(jié)果依然會(huì)求一次模整袁,得到8
。定義于函數(shù)體內(nèi)的內(nèi)置類型對(duì)象如果沒(méi)有初始化佑吝,則其值未定義坐昙;每個(gè)類自行決定起初始化對(duì)象的方式,自己決定是否允許不經(jīng)初始化就定義對(duì)象芋忿。
聲明 只規(guī)定變量的類型和名字炸客,但是定義 還申請(qǐng)內(nèi)存空間,還可能做出初始化戈钢。因此要區(qū)分這兩者嚷量。
C++ 支持分離式編譯,因此一個(gè)文件中的代碼可能需要使用另一個(gè)文件中定義的變量逆趣。這種情況下,每個(gè)要使用該變量的文件中都要有對(duì)該變量的聲明嗜历,但是該變量的定義 只能在一個(gè)文件中出現(xiàn)宣渗。聲明 一個(gè)變量的時(shí)候使用
extern
關(guān)鍵字抖所,如extern int i;
,這個(gè)時(shí)候不要初始化i
痕囱,否則extern
關(guān)鍵字失效田轧,該語(yǔ)句變成了定義 (想要文件間共享const
常量的除外,下面會(huì)有一條這個(gè)解釋)鞍恢。在函數(shù)體內(nèi)部傻粘,如果試圖初始化一個(gè)由
extern
關(guān)鍵字標(biāo)記的變量,將引發(fā)錯(cuò)誤帮掉。-
聲明空指針的時(shí)候弦悉,要顯式使用
// T 代表任意類型 T *p = nullptr;
或
T *p = 0;
但是不可以把一個(gè)值等于
0
的int
變量直接賦給指針,比如這樣子:int i = 0; T *p = i; // Cannot initialize a variable of type 'int *' with an lvalue of type 'int'
兩個(gè)合法指針進(jìn)行
==
和!=
比較的時(shí)候蟆炊,是比較兩個(gè)指針?biāo)娴牡刂?/em>稽莉。當(dāng)兩者的地址都為空時(shí),==
返回true
涩搓;當(dāng)兩者都指向同一個(gè)對(duì)象時(shí)污秆,==
返回true
;當(dāng)兩個(gè)指針都指向同一個(gè)對(duì)象的下一地址時(shí)昧甘,==
也返回true
良拼。還有一種比較特殊的情況,當(dāng)一個(gè)指針指向某對(duì)象充边,另一個(gè)指針指向另外一個(gè)對(duì)象的下一地址庸推,但是因?yàn)閮蓚€(gè)對(duì)象恰好在內(nèi)存中是相鄰 的,所以也會(huì)出現(xiàn) == 返回true
的情況痛黎,一定不要忘記這種情形予弧,void*
指針比較特殊,可以存放任意類型對(duì)象的地址湖饱,但也因此失去了被解引用的能力:我們不能確定這個(gè)被指向的對(duì)象是什么類型掖蛤,自然就不知道解引用后能做什么事情。因此void*
指針能做的事情比較有限:去和別的指針做比較 (也就是比較指針?biāo)涗浀牡刂?井厌;作為函數(shù)的輸入或輸出 (這點(diǎn)用的較多)蚓庭;把它的值賦給另外一個(gè)void*
指針。int *&r = &i;
這句話代表r
指向i
仅仆,但是具體而言r
是i
的指針的引用器赞。-
常規(guī)的定義
const
常量的方法 (編譯時(shí)初始化) 是這樣子的:const int num = 214;
在這種定義方式下,編譯器將在編譯時(shí) 在這個(gè)文件中找到在這句代碼后所有用到
num
變量的地方墓拜,然后把num
替換成214
(就像宏定義那樣)港柜。 因此如果想要讓不同文件共享這個(gè)const
常量,那么在每個(gè)文件中,都要有const int num = 214;
這句定義 (不然就沒(méi)法替換啦)夏醉。然而這樣子的話爽锥,違反了前面說(shuō)過(guò)的每個(gè)變量只能被定義一次 這個(gè)限定。因此在默認(rèn)狀態(tài)下畔柔,
const
常量被設(shè)置成僅在所處的文件內(nèi)部有效氯夷,而文件外部就無(wú)法讀取。如果想在每個(gè)文件里都能用到同樣的const
常量靶擦,那么要在每個(gè)文件內(nèi)部均定義同名的對(duì)象腮考,但這個(gè)時(shí)候其實(shí)他們是不同的獨(dú)立的對(duì)象⌒叮或者踩蔚,可以在該const
常量聲明和定義的時(shí)候均添加extern
關(guān)鍵字。然后在不同文件內(nèi)用extern
描述該常量桩盲,即可做到只定義一次而能夠多文件間共享寂纪。 -
指向常量的引用僅對(duì)該引用可參與的操作進(jìn)行限定,指不能通過(guò)對(duì)被引用對(duì)象的引用來(lái)修改被引用對(duì)象的值赌结。舉個(gè)例子:
const int a = 3; const int &b = a;
第二句的
const
的含義是不能通過(guò)修改b
來(lái)修改a
的值捞蛋。由于在確定了引用綁定關(guān)系之后,引用不能易主柬姚,所以b
是不能再引用別的對(duì)象的拟杉,同時(shí)b
還不能修改a
的值,所以b
在整個(gè)生命周期能做的事情只有讀取a
的值量承。 -
對(duì)某一個(gè)常量的引用實(shí)質(zhì)上是對(duì)這個(gè)常量起的別名搬设,因此一般來(lái)說(shuō) 它們類型相同 (也是有例外的),因此都要用
const
來(lái)限定撕捍。企圖用int
來(lái)引用一個(gè)const int
會(huì)發(fā)生編譯時(shí)錯(cuò)誤拿穴,因?yàn)榫幾g器發(fā)現(xiàn)這個(gè)引用本身是int
類型,那么編譯器會(huì)認(rèn)為寫代碼的人在之后可能會(huì)對(duì)這個(gè)int
類型的引用作出修改忧风,而這是被禁止的默色,所以編譯器要求對(duì)const
對(duì)象的引用也要用const
限定。但是另一種情況下狮腿,一個(gè)const int
對(duì)象是可以引用一個(gè)int
對(duì)象的腿宰,因?yàn)?const
限定的是引用關(guān)系本身,你不能通過(guò)這個(gè)引用來(lái)改變被引用的變量的值缘厢,但是被引用的變量可以使用其他方式進(jìn)行改變 (例如通過(guò)直接調(diào)用這個(gè)變量的標(biāo)識(shí)符顯式的改變這個(gè)變量)吃度。在這種情況下,你要確保被引用的非常量 (也就是上面栗子中的那個(gè)int
) 可以轉(zhuǎn)換成引用的類型 (即const int
)贴硫。舉個(gè)栗子:int i = 24; double pi = 3.14;
在這時(shí)
const int &r1 = i;
是可以的椿每,因?yàn)?
24
是一個(gè)字面值常量,const int &r2 = i - 3;
也是可以的,因?yàn)?
24 - 3
得到的也是一個(gè)字面值常量间护,const int &r3 = pi;
還是可以的删壮,這個(gè)時(shí)候編譯器會(huì)先把
pi
變成一個(gè)const int temp = 3
然后用
r3
去引用這個(gè)temp
,這個(gè)時(shí)候r3
綁定了一個(gè)臨時(shí)量兑牡。反正你不可以通過(guò)r3
來(lái)改變temp
的值,所以temp
就一直在那里税灌,一直都是3
均函,r3
的值也一直都是3
。但是這樣子是不行的:const int &r4 = "4"; // Reference to type 'const int' could not bind // to an lvalue of type 'const char[2]
因?yàn)橐粋€(gè)
string
不能轉(zhuǎn)換成一個(gè)const int
菱涤。 -
和指向常量的引用一樣苞也,指向常量的指針也只對(duì)通過(guò)指針對(duì)被指對(duì)象進(jìn)行的操作 進(jìn)行限制。因此粘秆,被引用的對(duì)象可以在其他地方通過(guò)顯式調(diào)用標(biāo)識(shí)符來(lái)修改如迟。但是指向常量的指針本身不一定是常量,例如
const int a = 3; const int *p = &a; //Implicit conversion from 'double' to 'int' changes value from 3.14 to 3
-
中的
p
目前指向的是a
攻走,接下來(lái)可以通過(guò)const int b = 4; p = &b;
來(lái)改變
p
指向的對(duì)象殷勘。 指針是一個(gè)對(duì)象,所以也可以限定一個(gè)指針為一個(gè)常量昔搂,這個(gè)時(shí)候指針本身是不能改變的玲销,也就是說(shuō)指針?biāo)鶅?chǔ)存的地址是不能改變的,也就是說(shuō)這個(gè)指針一輩子只能指向那一個(gè)對(duì)象了摘符。這個(gè)時(shí)候
const
的位置有所改變贤斜,從const int *p
變成int *const p
,const
離p
最近逛裤,因此首先p
是個(gè)常量瘩绒,然后他還是個(gè)指針。此時(shí)被指向的那個(gè)對(duì)象不僅可以是常量带族,同時(shí)也可以為變量锁荔。-
指針本身是一個(gè)常量,并不意味著不可以借助指針來(lái)修改被指向的變量炉菲,只要被指向的對(duì)象是個(gè)變量堕战,那就可以通過(guò)它的指針來(lái)修改它的值,不管這個(gè)指針本身是不是常量拍霜。
所謂頂層
const
和底層const
嘱丢,頂層代表對(duì)象本身是const
,底層代表對(duì)象所引用祠饺、指向的對(duì)象是const
越驻。所有的引用都是底層const
。見(jiàn)下面的例子:int i = 0; int *const pi = &i; // pi 是頂層,因?yàn)?pi 不能改變 const int ci = 0; // ci 是頂層缀旁,因?yàn)?ci 不能改變 const int *p0 = &i; // p0 是底層记劈,因?yàn)?p0 可以改變 const int *p1 = &ci; // p1 是底層,因?yàn)?p1 可以改變 const int *const p2 = &ci; // int 右的 const 是頂層并巍,int 左 的 const 是底層 const int &r0 = i; // r0 是底層目木,用于聲明引用的 const 都是底層 const int &r1 = ci; // r1 是底層,用于聲明引用的 const 都是底層
頂層還是底層請(qǐng)看注釋懊渡。當(dāng)執(zhí)行對(duì)象的拷貝動(dòng)作時(shí)刽射,底層的存在感高于頂層。對(duì)于指針的拷貝剃执,頂層不能接受一切拷貝誓禁,底層可以接受一切拷貝,變量可以接受頂層但是不可以接受底層肾档。對(duì)于引用摹恰,不能把
int &
綁定到const int
上,但是可以把const int &
綁定到int
上怒见。 -
舉一個(gè)例子:
const int r1 = 30; const int r2 = r1 - 3;
這么寫的確沒(méi)問(wèn)題俗慈,但是還有一種更加推薦的 C++11 提出的寫法,是
constexpr int r1 = 30; constexpr int r2 = r1 - 3;
這么寫的主要原因是像
30
速种、r1
姜盈、r1 - 3
這些值不會(huì)改變,并且在編譯時(shí)就能得到計(jì)算結(jié)果的簡(jiǎn)單表達(dá)式 被稱作常量表達(dá)式配阵,在實(shí)際應(yīng)用中馏颂,幾乎不可能分辨一個(gè)初始值是不是常量表達(dá)式,因此 C++11 規(guī)定允許將變量聲明為constexpr
類型以便由編譯器來(lái)驗(yàn)證變量的值是不是一個(gè)常量表達(dá)式棋傍。如果你在寫代碼時(shí)認(rèn)定一個(gè)變量是一個(gè)常量表達(dá)式救拉,那么你就直接用constexpr
限定它。你也可以定義一種constexpr
函數(shù)瘫拣,這種函數(shù)應(yīng)該足夠簡(jiǎn)單以使得編譯器在編譯時(shí)就可以計(jì)算其結(jié)果亿絮。這樣你就可以用constexpr
函數(shù)去初始化constexpr
變量。 因?yàn)槟阈枰尵幾g器在編譯時(shí)就可以計(jì)算出結(jié)果麸拄,所以聲明為
constexpr
的時(shí)候所用到的類型要足夠簡(jiǎn)單派昧,我們把這些簡(jiǎn)單的、顯而易見(jiàn)的拢切、容易得到的類型成為字面值類型蒂萎,其中包含算數(shù)類型 (內(nèi)置類型中的bool
、char
淮椰、short
五慈、int
纳寂、long
、long long
泻拦、float
毙芜、double
、long double
)争拐、引用和指針等類型腋粥。自定義的類、IO 庫(kù)架曹、string 類則不屬于字面值類型灯抛,也就不能被定義成constexpr
。事實(shí)上音瓷,constexpr
函數(shù)的內(nèi)容僅可以有一條return
語(yǔ)句,而且return
的類型一定是字面值類型夹抗,形參的類型也都得是字面值類型绳慎。-
constexpr
把它所定義的對(duì)象置為了頂層const
,所以const int *p = nullptr;
和
constexpr int* p = nullptr;
有著天壤之別漠烧,前者是指
p
是一個(gè)指向整形常量的指針杏愤,后者是指p
是一個(gè)指向整形的常量指針。 -
在使用
typedef
或者using
語(yǔ)句的時(shí)候要注意已脓,如果你新定義的類型別名指代的是符合類型或者常量珊楼,那么在一個(gè)聲明語(yǔ)句中使用新類型別名的時(shí)候,如果加上const
修飾符度液,那么語(yǔ)義會(huì)發(fā)生變化厕宗。例如:typedef char *pstring; const pstring cstr = 0; const pstring *ps;
當(dāng)理解第二句的
const
的作用的時(shí)候,pstring
千萬(wàn)不能直接替換成char *
堕担。這個(gè)時(shí)候要把pstring
當(dāng)成普通的int
來(lái)理解已慢,這個(gè)const
修飾pstring
使得cstr
是一個(gè)常量。因此第二句的含義是:聲明一個(gè)常量霹购,他是個(gè)指針佑惠,他指向一個(gè)char
類型的對(duì)象,并把它定義為空指針齐疙。因此第三句話的含義也顯而易見(jiàn)了:聲明一個(gè)指針膜楷,它自己并不是常量 (因?yàn)?const
在星號(hào)的左邊),但是它指向了一個(gè)常量贞奋,他指向的常量的具體類型是pstring
赌厅,也就是一個(gè)指向一個(gè)char
對(duì)象的常量指針。第三句話有點(diǎn)繞忆矛,簡(jiǎn)單說(shuō)就是ps
是一個(gè)指向指向char
的常量指針 的變量指針察蹲。 如果在
auto
語(yǔ)句中連著聲明定義多個(gè)變量请垛,那么這些變量要是同一個(gè)類型。-
在
auto
語(yǔ)句中洽议,如果用一個(gè)引用來(lái)初始化一個(gè)變量宗收,那么這個(gè)變量的類型和被引用的對(duì)象的一樣:int i = 0, &r = i; auto a = r;
這里的
a
的類型是int
。 -
auto
一般會(huì)忽略掉頂層const
亚兄,但是會(huì)保留底層const
混稽。如果你希望auto
可以推斷出頂層const
,那么你要明確寫出const
限定符:const int ci = i, &cr = ci;// ci 是頂層审胚,cr 是底層 auto b = ci; // b 不是常量匈勋,是一個(gè) int auto c = cr; // c 不是常量,是一個(gè) int auto d = &i; // d 不是常量膳叨,是一個(gè) int * auto d = &i; // d 不是常量洽洁,是一個(gè) const int * const auto f = ci; // f 是一個(gè) const int const auto g = &ci; // g 是一個(gè) const int *const //由于引用本身就是底層 const,所以會(huì)被保留下來(lái) auto &h = ci; // h 是一個(gè) const int & auto &j = 29; // 編譯錯(cuò)誤:不能給非常量引用綁定字面值 const auto &k = 29; // 編譯通過(guò):寫出了 const 才能綁定字面值 decltype() 可以分析表達(dá)式的類型并且返回它菲嘴。例如: ```C++ decltype(f()) = x; // x 的類型與函數(shù) f() 的返回類型相同 const int ci = 9, &ri = ci; int i = 1, *pi = &i; decltype(ci) x = 0; // x 是 const int decltype(ri) s = x; // s 是 const int &饿自,只傳標(biāo)識(shí)符,那么就返回引用類型 decltype(ri+0) t = s; // s 是 const int龄坪,表達(dá)式會(huì)消除掉引用 decltype(i) y = x; // y 是 int decltype(i+3) z = x; // z 是 int decltype((i)) w = x; // w 是 int &昭雌,當(dāng)變量外面套著一層括號(hào)的時(shí)候,將被視作表達(dá)式健田,返回引用 decltype(pi) p = &i; // p 是 int * decltype(*pi) r = i; // r 是 int &烛卧,解引用操作返回引用類型
總結(jié)一下:對(duì)于引用,直接傳入
decltype
會(huì)返回引用類型妓局,普通變量外面套一層括號(hào)傳進(jìn)去也會(huì)返回引用類型总放,引用放在表達(dá)式里面?zhèn)魅?decltype
會(huì)返回被引用對(duì)象的類型。 decltype
可以保留頂層 const 和引用類型好爬,但是auto
不可以间聊。預(yù)處理器是在編譯之前執(zhí)行的一段程序,可以部分的改變程序內(nèi)容抵拘,包括例如
NULL
哎榴、assert()
、#include
僵蛛、#ifdef
尚蝌、#ifndef
、#pragma
這些東西充尉。當(dāng)預(yù)處理器看到#include
這個(gè)標(biāo)記的時(shí)候飘言,就會(huì)把指定的頭文件的內(nèi)容代替這句#include
語(yǔ)句。 而像ifdef
驼侠、endif
這些則叫做頭文件保護(hù)符姿鸿,define
用于定義預(yù)處理變量谆吴,ifdef
、ifndef
用于檢查哪個(gè)預(yù)處理變量是否已經(jīng)定義苛预,一旦結(jié)果為真句狼,則執(zhí)行后續(xù)操作直到遇到#endif
位置。預(yù)處理變量包括頭文件保護(hù)符無(wú)視 C++ 中的作用域的規(guī)則热某,并且在整個(gè)工程文件中必須唯一腻菇。習(xí)慣性的把所有頭文件用頭文件保護(hù)符包含住是值得推薦的。
第 2 章:變量和基本類型
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門铡俐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人妥粟,你說(shuō)我怎么就攤上這事审丘。” “怎么了勾给?”我有些...
- 文/不壞的土叔 我叫張陵滩报,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我播急,道長(zhǎng)脓钾,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任桩警,我火速辦了婚禮可训,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘捶枢。我一直安慰自己握截,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布烂叔。 她就那樣靜靜地躺著谨胞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蒜鸡。 梳的紋絲不亂的頭發(fā)上胯努,一...
- 那天牢裳,我揣著相機(jī)與錄音,去河邊找鬼叶沛。 笑死蒲讯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的恬汁。 我是一名探鬼主播伶椿,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼氓侧!你這毒婦竟也來(lái)了脊另?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤约巷,失蹤者是張志新(化名)和其女友劉穎偎痛,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體独郎,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡踩麦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了氓癌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谓谦。...
- 正文 年R本政府宣布才顿,位于F島的核電站,受9級(jí)特大地震影響尤蒿,放射性物質(zhì)發(fā)生泄漏郑气。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一腰池、第九天 我趴在偏房一處隱蔽的房頂上張望尾组。 院中可真熱鬧,春花似錦示弓、人聲如沸演怎。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)爷耀。三九已至,卻和暖如春拍皮,著一層夾襖步出監(jiān)牢的瞬間歹叮,已是汗流浹背跑杭。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像萨螺,于是被迫代替她去往敵國(guó)和親窄做。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- #1.基本內(nèi)置類型1.1 算術(shù)類型1.2 類型轉(zhuǎn)換1.3 字面值常量 #2.變量2.1 變量定義2.2 變量定義和...
- 2.1 基本內(nèi)置類型 2.1.1 算數(shù)類型 空類型(void):無(wú)值無(wú)操作慰技,不能定義void類型變量 字符類型:c...
- 基本內(nèi)置類型 算術(shù)類型字符整型布爾值浮點(diǎn)數(shù) 空類型(void) 算術(shù)類型 帶符號(hào)類型和無(wú)符號(hào)類型int吻商、short...
- 初始化與賦值初始化的含義是創(chuàng)建變量的時(shí)候賦予其一個(gè)初始值掏颊,賦值的含義是把對(duì)象的當(dāng)前值擦除,而以一個(gè)新值來(lái)替代艾帐。列表...