C++编程笔记:C++用new与不用new创建对象的区别( 四 )

每个类的实例 , 在内存中都有一个独一无二的地址 , 为了达到这个目的 , 编译器往往会给一个空类隐含的加一个字节 , 这样空类在实例化后在内存得到了独一无二的地址 。 ------《深度探索c++对象模型》

二、用new与不用new创建对象的区别

内存分配有三种方式:

(1)从静态存储区域分配 , 内存在编译期间就已经分配好 , 这块内存在整个运行期间都存在 , 例如static变量 。

(2)从栈上创建:函数内局部变量 , 自动分配与回收 , 效率高 , 但是分配的内存量有限 。

(3)从堆上创建:由程序员控制 , malloc、new , free、delete 。

想要在程序员生涯内有更高的成就的话 , 最重要的是尽可能的提升自己的编程能力 , 并且 , 与其想着怎么去提升 , 不如从现在开始动手动脑 , 如果对于C/C++感兴趣的话 , 学习C/C++编程的可以关注私信小编“编程”二字交流 。

推荐阅读