A a = new A; // 这里,a是什么?不是指针,不是引用,是什么?
A *a = new A;
以上有什么区别?
new 操作应该返回的是 void* ,这意味着必须是指针,那么,为什么还可以存在 A a = new A; ?
两者都需要 delete a 吧?如果需要,两者的delete a的动作的背后是相同的吗(释放掉a 指向的对象占用的内存)?
谢谢
...全文
376打赏收藏
关于new 与 delete 的问题
问题比较初级,但我却没有从书上找到答案。 //Class A; A a = new A; // 这里,a是什么?不是指针,不是引用,是什么? A *a = new A; 以上有什么区别? new 操作应该返回的是 void* ,这意味着必须是指针,那么,为什么还可以存在 A a = new A; ? 两者都需要 delete a 吧?如果需要,两者的delete a的动作的背后是相同的吗(释放掉a 指向的对象占用的内存)? 谢谢