
The world is built on 了解C++.
——Herb Sutter
the chair of the ISO 了解C++ standards committee and chief native languages architect at Microsoft
看得有趣、學(xué)得輕松
看圖學(xué)C++
陳良喬
導(dǎo)讀:
看圖也能學(xué)C++?!
沒錯(cuò),看圖也能學(xué)C++!
這本迷你書是《我的第一本C++書》的迷你版,它抽取了《我的第一本C++書》中的全部的精美插圖,并配上相應(yīng)的解釋說明。它以圖文并茂的生動(dòng)形式,向你講解那些所謂的高深的C++知識(shí),讓你對(duì)那些抽象的C++知識(shí)有一個(gè)更加形象的理解,向你展示這個(gè)美麗而神秘的C++世界,讓你在有趣的看圖過程中,輕松地學(xué)到了C++知識(shí)。

看得有趣、學(xué)得輕松
第一篇
叩開C++世界的大門
第1章
C++世界地圖
對(duì)一個(gè)即將到陌生的地方去旅行的人來說,什么是最重要和必需的?
沒錯(cuò),是一張內(nèi)容豐富詳盡、生動(dòng)有趣的旅行地圖。借助這張地圖,我們知道在什么地方停車吃飯、在什么地方打尖住店。即將進(jìn)入陌生的C++世界的各位旅行者對(duì)C++世界有太多的問題和疑惑:
C++是什么?
C++是怎么來的?
C++能做什么?
如何學(xué)好C++?
面對(duì)這些問題,我們同樣需要一張C++世界的地圖。這張C++世界地圖可以為我們解答這些問題和疑惑,讓我們清晰地認(rèn)識(shí)C++世界。同時(shí),我們可以通過這張C++世界地圖,了解C++世界的整個(gè)面貌:有哪些好玩的地方、有哪些有趣的故事、有哪些有用的知識(shí)、有哪些危險(xiǎn)而需要注意的地方。這張C++世界地圖,將帶領(lǐng)我們暢游整個(gè)C++世界。
還等什么,讓我們出發(fā)吧!
1.2 C++的前世今生
1.2.3 從C++到.NET Framework的CLI
那么,到底什么是C++/CLI?它跟傳統(tǒng)的C++又有什么不同呢?
CLI指的是通用語言結(jié)構(gòu),一種支持動(dòng)態(tài)組件編程模型的多重結(jié)構(gòu)。在整個(gè)CLI結(jié)構(gòu)中,最重要的是公共語言運(yùn)行時(shí)(Common Language Runtime,CLR),它負(fù)責(zé)管理微軟中間語言(Microsoft Intermediate Language,MSIL)代碼的運(yùn)行環(huán)境。CLR位于CLI的下半部分(如圖1-1所示),主要包括類加載器(Class Loader)、實(shí)時(shí)編譯器(IL To Native Compilers)和一個(gè)運(yùn)行時(shí)環(huán)境的垃圾收集器(Garbage Collector)。CLI運(yùn)行在底層操作系統(tǒng)與程序之間,為MSIL代碼提供運(yùn)行的環(huán)境,這使得CLI成為一個(gè)實(shí)時(shí)的軟件層,一個(gè)有效的執(zhí)行系統(tǒng)。我們可以將任何語言編寫的代碼,通過特定的編譯器轉(zhuǎn)換為MSIL代碼,然后在CLI上運(yùn)行。

圖1-1 了解C++/CLI的結(jié)構(gòu)