深度探索C++对象模型(9)
介绍 dO%N6E)is5G~当编译一个C++程序时,计算机的内存被分成了4个区域,一个包括程序的代码,一个包括所有的全局变量,一个是堆栈,还有一个是堆(heap),我们称堆是自由的内存区域,我们可以通过new和delete把对象放在这个区域。你可以在任何地方分配和释放自由存储区。但是要注意因为分配在堆中的对象没有作用域的限制,因此一旦new了它,必须delete它,否则程序将崩溃,这便是内存泄漏。(C#已经通过内存托管解决了这一令人头疼的问题)。C++通过new来分配内存,new的参数是一个表达式,该表达式返回需要分配的内存字节数,这是我以前掌握的关于new的知识,下面看看通过这本书,使我们能够更进一步的了解到些什么。
k] jq']A
正文 ]cwkEF1o8JP
QG(L9U]C3| \\
这一章主要是说Runtime Semantics执行期语义学。
这是我们平时写的程序片段:
Matrix identity; //一个全局对象
Main() PM*j@Y%u4u1T.Y
{ R"tam/BaEM
Matrix m1=identity;