图2 C++创建对象方式2的内存分配两种语言里都含有 new 操作符,但它们的含义大不相同,这与它俩的变量管理方式有关。在 Java 中,只有当你使用 new 操作符时,才会真正在内存中申请一块空间,创建一个新对象,并将该对象绑定到你所定义的变量名上。而 C++ 中的 new 操作符表示的是在堆中申请内存,因为栈中的内存在运行时期大小是固定且有限的,因此需要动态内存分配的时候就需要用 new 来实现。这类似于 C 里面的 malloc 函数,只不过 new 操作符还封装了其它的操作。

Java和C++通过new创建的对象有何区别?

Java和C++通过new创建的对象有何区别?