了解你所使用的編程語言究竟是如何實現的,對于C++程序員可能特別有意義。
首先,我們順次考察C兼容的結構(struct)的布局,單繼承,多重繼承,以及虛繼承;
接著,我們講成員變量和成員函數的訪問,當然,這里面包含虛函數的情況;
再接下來,我們考察構造函數,析構函數,以及特殊的賦值操作符成員函數是如何工作的,數組是如何動態構造和銷毀的;
操作系統為一個C++程序的運行所分配的內存分為四個區域,如圖4.3 程序在內存中的區域所示:
(1)代碼區(Code area):存放程序代碼,即程序中各個函數的代碼塊;
(2)全局數據區(Data area):存放全局數據和靜態數據;分配該區時內存全部清零。
(3)棧區(Stack area):存放局部變量,如函數中的變量等&