了解你所使用的编程语言究竟是如何实现的,对于C++程序员可能特别有意义。
首先,我们顺次考察C兼容的结构(struct)的布局,单继承,多重继承,以及虚继承;
接着,我们讲成员变量和成员函数的访问,当然,这里面包含虚函数的情况;
再接下来,我们考察构造函数,析构函数,以及特殊的赋值操作符成员函数是如何工作的,数组是如何动态构造和销毁的;
操作系统为一个C++程序的运行所分配的内存分为四个区域,如图4.3 程序在内存中的区域所示:
(1)代码区(Code area):存放程序代码,即程序中各个函数的代码块;
(2)全局数据区(Data area):存放全局数据和静态数据;分配该区时内存全部清零。
(3)栈区(Stack area):存放局部变量,如函数中的变量等&