C++ new

1)  定义对象指针的时候需要先new,不然没分配堆空间。

2)对要用到空间不确定无法在程序写死,或者空间大小通过输入参数传进来时可以较为动态地分配一段内存。相比于栈空间,堆的容量要大得多。实际上,当物理内存不够时,如果这时还需要生成新的堆对象,通常不会产生运行时错误,而是系统会使用虚拟内存来扩展实际的物理内存。

3)对于堆对象,其产生时刻和销毁时刻都要程序员精确定义,也就是说,程序员对堆对象的生命具有完全的控制权。我们常常需要这样的对象,比如,我们需要创建一个对象,能够被多个函数所访问,但是又不想使其成为全局的,那么这个时候创建一个堆对象无疑是良好的选择,然后在各个函数之间传递这个堆对象的指针,便可以实现对该对象的共享。

原文地址:https://www.cnblogs.com/ManMonth/p/3302929.html