C++使用new和不使用new创建对象区别
2017-02-15 06:30
363 查看
前言
在使用面向对象的时候,发现使用new和不使用new创建的对象区别还是蛮大的,做个总结;总结
new创建的是一个指向类对象的指针,需要指针进行接收,一处初始化,多处使用,但是不用new创建的话不需要指针,其创建的是一个类对象;new创建一个实例对象,并且指针指向该对象,作用域变成了全局,使用完时需要用delete进行销毁;但是不用new创建的话,是一个对象的引用,作用域限制在定义类对象的方法中,当方法结束的时候,类对象会被系统自动释放掉,不会造成内存泄漏;
new创建对象直接使用堆空间,而局部不用new定义类对象则使用栈空间;
new对象指针用途广泛,比如作为函数返回值,函数参数等等;
频繁调用场合并不适合使用new,就像new申请和释放内存一样;
new创建的话可以先置为空,后面再指向类对象,但是不用new的话不行,其创建的时候就要进行初始化,后面就不能再进行改变;
相关文章推荐
- C++中,使用new与不使用new创建对象的区别
- C++用new和不用new创建类对象区别
- C++ 用new和不用new创建类对象的区别
- C++用new来创建对象和非new来创建对象的区别
- new一个类对象和使用类名创建一个对象有什么区别?
- 创建String对象时, 使用String s=new String ("abc")和String s="abc"语句有什么区别?
- Ruby on Rails,使用new和create创建ActiveRecord对象及他们之间的区别
- C++用new和不用new创建类对象区别
- C++用new和不用new创建类对象区别
- C++用new来创建对象和非new来创建对象的区别
- C++用new和不用new创建类对象区别
- C++用new和不用new创建类对象区别
- C++用new和不用new创建类对象区别
- C++用new创建对象和不用new创建对象的区别解析
- C++用new和不用new创建类对象区别 内存
- C++用new和不用new创建类对象区别
- C++用new和不用new创建类对象区别
- Ruby on Rails,使用new和create创建ActiveRecord对象及他们之间的区别
- C++用new和不用new创建类对象区别
- C++用new和不用new创建类对象区别