哎,木了個(gè)頭的,這書太詳細(xì)了~看得累人
前面部分太過基礎(chǔ)了,很多語法方法的東西我也不重復(fù)記錄了~
今天才看看C++涉及到數(shù)據(jù)的一些基礎(chǔ)點(diǎn)吧,我把書中稍微比較有營養(yǎng)的部分抽離出來
1.初始化
一般情況下,我們聲明和初始化變量是這樣的:int iNum = 10;
其實(shí)這是延續(xù)了C語言的語法,C++還有一種語法,是這樣的:int iNum(10);
其實(shí)大部分人還是習(xí)慣用第一種吧(我也是),但如果哪天我們?cè)趧e人的代碼里看到第二種形式,不要被嚇蒙了~
2.宏定義
宏,用最粗俗,不,是最通俗的說法來解釋,那就是——查找替換。
比如這樣定義一個(gè)宏:#define NAME “mutou”
那么,以后我們就可以到處使用NAME這個(gè)宏,程序編譯之后,其實(shí)會(huì)把所有的NAME都替換為”mutou”,這就是查找替換的概念了。
為什么要這么做呢?方便修改和維護(hù)吧,只要我們稍微把宏定義改改,比如改成這樣:#define NAME “神經(jīng)病啊”
那么所有使用了NAME的地方就都變了。
3.三種進(jìn)制數(shù)的表示
就拿剛剛的變量來看:int iNum = 10;
大家都知道,10代表的是10。(小若:喂~爸,幫我準(zhǔn)備好100萬,我要捅死個(gè)人。)
等等,別激動(dòng)~!
10代表的是十進(jìn)制的10,但其實(shí)我們可以用八進(jìn)制和十六進(jìn)制來表示的,比如:
在數(shù)字前面加上0,就代表是八進(jìn)制。
在數(shù)字前面加上0X,就代表是十六進(jìn)制。
(注意了,是數(shù)字0,而不是字母o,不要弄錯(cuò)了~)
所以吖,大家不要為了裝酷就在某個(gè)數(shù)字前面加上0,你所認(rèn)為的007和7可不是一個(gè)數(shù)字。(小若:八進(jìn)制的7和十進(jìn)制的7是一樣的啊!)
額,咳咳,所以大家不要為了裝酷就在某個(gè)數(shù)字前加上0X,你所認(rèn)為的0X7和7可不是一個(gè)數(shù)字。(小若:十六進(jìn)制的7和十進(jìn)制的7也是同樣的!)
咳咳,總之,大家不要隨便在數(shù)字前面加上0或者0X,除非你知道自己在做什么~!
4.const初探
我相信大家會(huì)經(jīng)常看到const這個(gè)關(guān)鍵字吧?
它最基本的用法就是定義常量,比如:const int iNum = 10;
這么定義的話, 以后我們就不能給iNum賦值了,也就是說,iNum其實(shí)是一個(gè)常量(不會(huì)改變的一個(gè)值)。
另外,即使你想這么用的:const int iNum;
是不可以的,我們一定要給常量初始化~
關(guān)于const,還有更多的內(nèi)容,不過,還是按照書的進(jìn)度來吧,目前這一章的內(nèi)容只是隨便提了一下。
5.auto聲明
相信大家在學(xué)習(xí)Cocos2d-x3.x版本時(shí),經(jīng)常會(huì)看到auto這個(gè)關(guān)鍵字。
其實(shí)這是C++11的新特性,它可以自動(dòng)判斷變量類型,不需要我們自己指定。
如果你熟悉lua的話,那么,可以粗俗,不,通俗地理解為local。
比如:
auto iNum = 10; 效果和 int iNum = 10; 是一樣的。
auto sp = Sprite::create();和 Sprite* sp = Sprite::create();是一樣的。
但,最好不要濫用,如果某些變量的類型不是十分明顯的,可能用了auto反而更不利于閱讀和維護(hù)了。
并且,像 int iNum = 10;這種最好不要用auto喇,得整死人的~
6.結(jié)束
接下來第四章的內(nèi)容更厚…希望很快能有下次的教程…
新聞熱點(diǎn)
疑難解答