九、如何用C++创建对象,理解作用域、堆栈、内存分配
C++是对内存管控最强的一门编程语言。
当我们写完一个类,如果这个类不是完全静态的(我们现在不讨论这种情况),那接下来就该实例化这个类来创建对象了。此时就面临实例化的对象存放在内存哪里的问题。
即使一个没有类成员的类,就是啥也没有的类,你实例化它创建的对象也是至少要占用1个字节的内存的。正常的情况下,一个类中是有很多类成员的,所以我们需要内存存放类实例的这一堆变量的值。
一般情况,应用程序会将内存分为堆和栈两个主要区域(当然还有其他区域,比如源代码区,都是二进制的机器代码,相关内容可参考 【C++】深度理解C++数据类型:常量、变量、数组、字符串、指针、函数_c++ 字符串常量-优快云博客 文中开头部分。本部分主要讨论如何用C++在堆和栈上创建对象。
1、