C++基礎入門教程(二):資料、變數、宏等_C 語言

來源:互聯網
上載者:User

哎,木了個頭的,這書太詳細了~看得累人
前面部分太過基礎了,很多文法方法的東西我也不重複記錄了~
今天才看看C++涉及到資料的一些基礎點吧,我把書中稍微比較有營養的部分抽離出來

1.初始化

一般情況下,我們聲明和初始設定變數是這樣的:int iNum = 10;
其實這是延續了C語言的文法,C++還有一種文法,是這樣的:int iNum(10);
其實大部分人還是習慣用第一種吧(我也是),但如果哪天我們在別人的代碼裡看到第二種形式,不要被嚇蒙了~

2.宏定義

宏,用最粗俗,不,是最通俗的說法來解釋,那就是——尋找替換。
比如這樣定義一個宏:#define NAME “mutou”
那麼,以後我們就可以到處使用NAME這個宏,程式編譯之後,其實會把所有的NAME都替換為”mutou”,這就是尋找替換的概念了。
 
為什麼要這麼做呢?方便修改和維護吧,只要我們稍微把宏定義改改,比如改成這樣:#define NAME “神經病啊”
那麼所有使用了NAME的地方就都變了。

3.三種進位數的表示

就拿剛剛的變數來看:int iNum = 10;

大家都知道,10代表的是10。(小若:喂~爸,幫我準備好100萬,我要捅死個人。)
等等,別激動~!

10代表的是十進位的10,但其實我們可以用八進位和十六進位來表示的,比如:

複製代碼 代碼如下:

int iNum = 012;  // 八進位
int iNum = 0XA;  //十六進位

在數字前面加上0,就代表是八進位。
在數字前面加上0X,就代表是十六進位。
(注意了,是數字0,而不是字母o,不要弄錯了~)

所以吖,大家不要為了裝酷就在某個數字前面加上0,你所認為的007和7可不是一個數字。(小若:八進位的7和十進位的7是一樣的啊!)

額,咳咳,所以大家不要為了裝酷就在某個數字前加上0X,你所認為的0X7和7可不是一個數字。(小若:十六進位的7和十進位的7也是同樣的!)

咳咳,總之,大家不要隨便在數字前面加上0或者0X,除非你知道自己在做什麼~!

4.const初探

我相信大家會經常看到const這個關鍵字吧?
它最基本的用法就是定義常量,比如:const int iNum = 10;
這麼定義的話, 以後我們就不能給iNum賦值了,也就是說,iNum其實是一個常量(不會改變的一個值)。
 
另外,即使你想這麼用的:const int iNum;
是不可以的,我們一定要給常量初始化~
 
關於const,還有更多的內容,不過,還是按照書的進度來吧,目前這一章的內容只是隨便提了一下。

5.auto聲明

相信大家在學習Cocos2d-x3.x版本時,經常會看到auto這個關鍵字。
其實這是C++11的新特性,它可以自動判斷變數類型,不需要我們自己指定。
如果你熟悉lua的話,那麼,可以粗俗,不,通俗地理解為local。
 
比如:

auto iNum = 10; 效果和 int iNum = 10; 是一樣的。
auto sp = Sprite::create();和 Sprite* sp = Sprite::create();是一樣的。
 
但,最好不要濫用,如果某些變數的類型不是十分明顯的,可能用了auto反而更不利於閱讀和維護了。
並且,像 int iNum = 10;這種最好不要用auto喇,得整死人的~

6.結束

接下來第四章的內容更厚…希望很快能有下次的教程…

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.