
C++中的new对象跟定义对象有什么区别
在JAVA中,一个对象要想使用必须new出来,但我在看C++代码时发现,其对象在使用时可以不new,但在有些代码上却new了,我是想知道,这个new的跟不new的在使用上...
在JAVA中,一个对象要想使用必须new出来,但我在看C++代码时发现,其对象在使用时可以不new,但在有些代码上却new了,我是想知道,这个new的跟不new的在使用上有什么区别,请说的详细点,谢谢
展开
2013-07-02
展开全部
定义对象就是申明对象(静态) new 就是创建对象的实例并为它分配足够的空间(动态)然后你才可以使用之,明白了没?凡是对象在原则上都是要New 的,只有New了才能真正意义上产生对象的实例。你才能访问类里面的内部数据和方法之类的。 只有变量才不需要New.对象是引用型的,变量则是传值型的变量是栈存储,而对象一般是堆栈。C++ 和Java都一样
2013-07-02
展开全部
在java中需要实例化对象,所以需要new这个运算符来实例化,然后分配空间,,而在C++中不需要实例化对象,所以可以直接用,也就是系统自动为其分配空间入栈……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-02
展开全部
至于你说的什么时候需要 比如你在某个函数中需要定义一个对象 而且这个对象你不希望函数执行结束时就被释放 就需要用new来开辟空间否则你定义的对象在函数结束的时候就会被释放
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-02
展开全部
不用new的内存区域是在栈,会自动分配空间,一般在局部变量时使用,函数结束后会自动释放空间,
用new的内在区域是在堆,要自己手动分配空间,使用完后要手动释放空间,
另外栈中空间的分配一般在编译时就知道大小了,而如果要在运行时分配空间,就要使用堆了
用new的内在区域是在堆,要自己手动分配空间,使用完后要手动释放空间,
另外栈中空间的分配一般在编译时就知道大小了,而如果要在运行时分配空间,就要使用堆了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询