房天下 > 房天下问答 > 业主生活 > 其他
  • C++中定义类的对象:用new和不用new有何区别?

    举个简单的例子:class Point{ private: int x; int y; public: void Set(int a,int b) { x=a; y=b; } void Print() { cout<<"("<<x<<","<<y<<")"<<endl; }};void main(){ Point p1; Point *p2=new Point(); p1.Set(1,2); p2->Set(4,5); p1.Print(); p2->Print(); delete p2;}对象p1,p2的定义方式有何本质不同?用哪种方式比较好?

    提问者:电子与生活

    发布于2010-10-06

共2个回答
  • huangdabian 丨Lv 0
    p1有系统创建并释放,你不要担心会出现内存泄露,但是生命期只有在本区域的大括号内,出了大括号就没用了。P2是指针,要自己释放,用不好很危险,用好了功能强大,因为他可以赋值给全局的变量,一下子从局部变量变成全局变量,还能把对象作为函数返回值。
    +13 2010-10-06 举报
  • 搜房网友 丨Lv 10
     谢谢
    +1 2011-09-26 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。