转载:http://zhidao.baidu.com/question/146659560.html
我觉得这个问题,回答的很好。
在c++的类中,我如果要访问类中的成员变量或函数,有2种方法,第一种就是定义一个一个对象,如:
Class A ... A aa; aa.xxx(); 另外一种就是 Class B ... B *aa = new B(); aa->xxx(); 这两种方法在使用上不知有没有什么区别,或是什么情况下用指针对象,什么情况下用普通对象?
问题补充:
用指针对象,用完之后需要释放内存空间
满意回答
2010-04-22 18:01
你提的问题很好,这个就是c++和java之间的区别,c++函数可以不写在类里面,这样就产生了全局变量定义, 文件#include等,在java中,A a = new A() c++中等同于 A a; 另外在c++中还有另外一中声明和实例化就是使用指针,如:A* a= new A() c++中的A a;就已经构造了对象; 而在java中 A a; 就是声明,还没有分配空间,在c++中就非常的灵活, A a;在栈(stack)上分配空间,A * a= new A;在堆(heap)上分配空间 栈上空间自动回收,堆空间需要程序员手动回收