您的位置:首页 > 编程语言 > C语言/C++

C++使用new和不使用new创建对象区别

2017-02-15 06:30 363 查看

前言

在使用面向对象的时候,发现使用new和不使用new创建的对象区别还是蛮大的,做个总结;

总结

new创建的是一个指向类对象的指针,需要指针进行接收,一处初始化,多处使用,但是不用new创建的话不需要指针,其创建的是一个类对象;

new创建一个实例对象,并且指针指向该对象,作用域变成了全局,使用完时需要用delete进行销毁;但是不用new创建的话,是一个对象的引用,作用域限制在定义类对象的方法中,当方法结束的时候,类对象会被系统自动释放掉,不会造成内存泄漏;

new创建对象直接使用堆空间,而局部不用new定义类对象则使用栈空间;

new对象指针用途广泛,比如作为函数返回值,函数参数等等;

频繁调用场合并不适合使用new,就像new申请和释放内存一样;

new创建的话可以先置为空,后面再指向类对象,但是不用new的话不行,其创建的时候就要进行初始化,后面就不能再进行改变;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: