C++ 中的new 和 java中的 new

2017-12-07  本文已影响0人  安安zoe

C++:创建实例

// 方式1
Ctest *pTest = new Ctest();
delete pTest; // 使用delete 才会释放指针所指向的空间 释放时调用析构函数
// 方式2
Ctest mTest;  // 使用完后,该类的析构函数负责空间释放

Java:创建实例

A a = new A();
// [1] 为A创建一个实例,在内存中开辟了两块空间,一块空间在堆区,用于存放 new A()这个对象
// 另一块空间在栈区,用来存放a,a的值是new A()该语句得到的对象的内存地址
//(注意这个内存地址是相对JVM而言的,并不是真实在机器中的内存地址)

Object obj; // 这是声明一个引用,类型是Object,值为null,还没有指向任何对象
obj = new Object();// new语句实例化一个对象,在堆中申请了一块连续空间来存放该对象

参考

上一篇下一篇

猜你喜欢

热点阅读