亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++基礎入門教程(一):基礎知識大雜燴

2020-01-26 15:11:40
字體:
來源:轉載
供稿:網友

我很郁悶,這本書果然講得很詳細,我在看第二章,看完要深呼吸,實在太詳(lao)細(dao)了。
不過這很好,后面難一些的內容應該會不錯~
 
那么,這章只是作為預覽的章節,我抽出一些稍微比較有營養的內容記錄一下吧~
 
注意:本系列教程不適合無任何編程語言基礎的朋友,只是作為C++基礎的一種補充。
教程內容基于《C++ Primer Plus》一書,適合初學者,熟手請直接忽略。

1. 如果你不注釋,那么,我會把你注釋掉~!

C++的注釋有2種,
第一種,單行注釋,那就是://
如下代碼:

復制代碼 代碼如下:

    // 呵呵
    Test* t = new Test();;

//后面跟著的就是注釋內容,屬于單行注釋
所謂的注釋,就是與代碼無關的內容,與編譯器無關的內容,只是給我們自己或者其他人看的。
就像是說明書。
 
另外還有一種注釋,那就是:/* */
如下代碼:
復制代碼 代碼如下:

/*
呵呵
你剛剛說什么來著?
*/
Test* t = new Test();;

/**/中間可以放一段文字,這是多行注釋。
 
這廢話就不多說了。

另外要說一下廢話(小若:剛剛誰說廢話不多說來著?),那就是注釋真的很重要~!
不要聽那么大牛說什么變量名字取得好、函數名字取得好就不需要注釋。
每個人對“好”是有不同的評價的,所以注釋很重要,誰喜歡看那些一整頁都沒有注釋的代碼呢?
不管是英文注釋還是中文注釋,都能讓其它人或者自己以最快的速度了解某段代碼的意思。
 
沒錯,如果遇到那些自以為自己寫得一手完美代碼的人,一個注釋都不寫的,那么,你就把他整個人給注釋掉吧~!

2.頭文件

語言本身除了語法之外,最重要的應該就是各種庫了。
各種庫,也就是它的各種功能,我們只要調用一些函數就能完成特定的功能。
比如打印文字、讀寫文件什么的。
 
C++提供了很多這樣的庫,它們被分別存放在不同的文件中。
如果想使用這些庫里面的函數,就要包含這些庫的頭文件。
 
所以,我們經常會看到下面的代碼:

復制代碼 代碼如下:

#include "hello.h"
#include <iostream>

#include就是用來包含頭文件的,包含頭文件之后就能使用某個庫的函數了。
那么,為什么有些頭文件是.h結尾,有些又沒有呢?
其實現在C++默認規定是不需要.h結尾的,.h結尾只是以前留下來的習慣~
但,其實現在大家在新建類文件的時候還是習慣保留.h,而C++自帶的庫可能更多的是沒有后綴的。
 
其實頭文件就是一個文件,什么結尾關系不大(大部分情況下),所以有時候我們也能看到.hpp結尾的文件。
這個就不多說了~
 
總而言之,如果你編譯代碼的時候報錯,說什么不能使用未聲明的類型之類的,基本上就是沒有包含相應的頭文件了。

3.命名空間

作為初學者,應該常常見到下面的代碼(小若:難道不是初學者就不常見嗎?):

復制代碼 代碼如下:

#include "cocos2d.h"
using namespace cocos2d;

比如我們要使用Cocos2d-x的Sprite類,這個類是在cocos2d.h庫中的,所以我們首先要包含cocos2d.h頭文件。
然后就使用Sprite這個類,比如:Sprite* sp = Sprite::create(“boy.png”);
但相信大家都試過,這么直接用會報錯的,大概是說找不到Sprite。
 
這是因為Sprite是在某個命名空間里的,我們要這樣使用它:cocos2d::Sprite* sp = cocos2d::Sprite::create(“boy.png”);
這樣就沒問題了,那么,命名空間是個什么東西?

4.不同庫的相同類名沖突

我們先來跑一下題,假設我想貢獻一下,給大家寫一個更好用的庫(頭文件叫做mutou.h),然后,其中也有一個類叫做Sprite。

于是,大家會這么使用我的庫:Sprite* mSp = Sprite::new(“girl.png”);
 
那么,問題來了,學挖掘機哪家…(小若:停~!回來!別跑題?。?br />那么,如果我們想同時使用cocos2d和mutou的Sprite類,會發生什么事情?如下代碼:

復制代碼 代碼如下:

#include "cocos2d.h"
#include "mutou.h"
Sprite* sp = Sprite::create("boy.png");
Sprite* mSp = Sprite::new("girl.png");

這樣一定會報錯,大概是說Sprite不明確
所以,這個時候,就需要一個叫做“命名空間”的東西來區分這些不同庫的相同名字的類了。
我們把cocos2d的庫放到名為cocos2d的命名空間里,把mutou的庫放到名為mutou的命名空間里:

復制代碼 代碼如下:

#include "cocos2d.h"
#include "mutou.h"
cocos2d::Sprite* sp = cocos2d::Sprite::create("boy.png");
mutou::Sprite* mSp = mutou::Sprite::new("girl.png");

這么使用就不會出問題了,至于如何把某個庫放到某個命名空間中,其實很簡單,但是這里先不介紹了。

5.偷懶

回到最初,using namespace cocos2d;又是什么東西呢?
如剛才所見,在Sprite前面總是要加上cocos2d::這樣的前綴,實在是太煩人了。
所以,我們可以偷懶,使用了using namespace cocos2d;之后,就不需要寫這樣的前綴了。
 
但是,這只是在沒有沖突的情況下,如果遇到剛剛說的不同庫的相同類名沖突,就必須使用前綴。
 
書上有提到,濫用using namespace不是什么好事,但我沒有經歷過什么坑,可能在大型項目中才會出現問題吧。
一般的手游是沒什么影響了。
 
如果擔心的話,可以這樣使用:using namespace cocos2d::Sprite;
這樣依舊可以不用cocos2d::前綴就能使用Sprite類,但如果要用到cocos2d庫的其他類,就又要再一次使用using namespace cocos2d::name;
總之,這種方式就是:用到的類才使用using聲明。可以節省一些開支。

6.結束

好吧,前面的內容實在是太基礎,基礎到沒東西可以介紹了。
下一章應該會好一些…

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情啊啊啊| 秋霞成人午夜鲁丝一区二区三区| 国产精品成人一区二区三区吃奶| 久久久久久久国产精品视频| 色综合色综合网色综合| 精品自拍视频在线观看| 亚洲视频在线观看免费| 中文在线资源观看视频网站免费不卡| 成人福利网站在线观看11| 日韩欧美一区视频| 午夜精品久久久久久久99热| 久久久人成影片一区二区三区| 国产精品狼人色视频一区| 免费91麻豆精品国产自产在线观看| 亚洲欧洲日本专区| 亚洲娇小xxxx欧美娇小| 亚洲欧美第一页| 日韩精品免费在线观看| 国产精品久久久久久影视| 亚洲成av人片在线观看香蕉| 欧美性猛交xxxx富婆| 草民午夜欧美限制a级福利片| 国语自产精品视频在线看抢先版图片| 久久久久久尹人网香蕉| 亚洲国产欧美一区二区三区同亚洲| 91国内在线视频| 亚洲有声小说3d| 国产日韩欧美另类| 国产suv精品一区二区三区88区| 欧美成人第一页| 91久久精品视频| 欧美日本在线视频中文字字幕| 国产成人精品久久二区二区91| 国产福利成人在线| 亚洲第一精品福利| 久久91亚洲精品中文字幕奶水| 日韩av在线天堂网| 欧美日韩国产一区在线| 色综合久久久久久中文网| 国产一区二区免费| 欧美日韩国产一区二区三区| 欧美天天综合色影久久精品| 国产精品爽爽爽爽爽爽在线观看| 亚洲精品自拍第一页| 亚洲在线第一页| 亚洲欧美国产精品久久久久久久| 欧美有码在线观看视频| 黄网动漫久久久| 97香蕉久久超级碰碰高清版| 精品国内产的精品视频在线观看| 中文字幕日韩欧美精品在线观看| 国产精品视频中文字幕91| 亚洲精品成人久久电影| 国产精品视频大全| 亚洲精品国产综合区久久久久久久| 亚洲天堂网在线观看| 成人深夜直播免费观看| 日韩av免费看网站| 日韩中文视频免费在线观看| 日韩中文在线视频| 97在线看福利| 国产精品直播网红| 精品国产31久久久久久| 久久免费在线观看| 国产黑人绿帽在线第一区| 亚洲精品一二区| 国产精品成人在线| 欧美区在线播放| 国产精品成人国产乱一区| 亚洲tv在线观看| 欧美日韩午夜剧场| 久久久中文字幕| 久久青草精品视频免费观看| 久久网福利资源网站| 最新69国产成人精品视频免费| 亚洲女人被黑人巨大进入| 日韩精品在线私人| 久久99精品国产99久久6尤物| 国产精品视频资源| 日韩电影在线观看中文字幕| 亚洲精品av在线播放| 欧美性猛交xxxxx免费看| 91国产精品视频在线| 日韩中文综合网| 欧美最猛性xxxxx亚洲精品| 成人性生交xxxxx网站| 久久亚洲精品视频| 中文字幕亚洲第一| 国产精品高潮在线| 在线观看日韩专区| 久久精品色欧美aⅴ一区二区| 亚洲国产精品国自产拍av秋霞| 日韩在线免费视频| 亚州国产精品久久久| 美女撒尿一区二区三区| 久久99视频免费| 亚洲精品美女网站| 国产91|九色| 国产欧美精品一区二区三区-老狼| 2020欧美日韩在线视频| 992tv在线成人免费观看| 欧美激情亚洲国产| 久久久久久久一| 久久免费视频网| 日本久久久久亚洲中字幕| 欧洲美女7788成人免费视频| 91视频九色网站| 亚洲老司机av| 日韩av色在线| 黑人极品videos精品欧美裸| 欧美成人手机在线| 日本久久久a级免费| 欧美日韩亚洲国产一区| 日韩有码在线视频| 国产午夜精品理论片a级探花| 45www国产精品网站| 日本成人在线视频网址| 久久国产精品亚洲| 精品国产一区二区三区久久狼黑人| 精品久久久精品| 九九久久久久久久久激情| 国产成人精品免高潮在线观看| 久久视频在线播放| 性欧美长视频免费观看不卡| 日韩色av导航| 亚洲人成欧美中文字幕| 久久国产色av| 久久国产精彩视频| 91精品国产高清自在线看超| 成人两性免费视频| 日韩国产高清视频在线| 欧美成人激情图片网| 久久久久久免费精品| 久久久久在线观看| 国产精品久久久久久中文字| 日韩一区二区在线视频| 久久九九国产精品怡红院| 欧美激情精品久久久久久大尺度| 丝袜亚洲另类欧美重口| 欧美电影免费播放| 亚洲美女又黄又爽在线观看| 亚洲最大av网站| 欧美日韩国产精品专区| 欧美日韩综合视频| 热久久免费视频精品| 亚洲mm色国产网站| 红桃视频成人在线观看| 欧美激情欧美激情在线五月| 国产亚洲欧美一区| 韩剧1988免费观看全集| 性欧美亚洲xxxx乳在线观看| 国产欧洲精品视频| 国产精品久久久久久影视| 最新91在线视频| 午夜精品久久久久久久男人的天堂| 日韩精品免费综合视频在线播放| 亚洲激情在线观看视频免费| 久久精品2019中文字幕| 欧洲美女免费图片一区| 国产精品第一页在线| 色婷婷综合久久久久中文字幕1| 欧美日韩一二三四五区| 欧美成人小视频| 91成人福利在线|