没有躲过的坑--成对使用new和delete时要采取相同的形式
2015-11-22 22:02
295 查看
new创建类对象与不new区别:
new创建类对象需要指针接收,一处初始化,多处使用
new创建类对象使用完需delete销毁
new创建对象直接使用堆空间,而局部不用new定义类对象则使用栈空间
new对象指针用途广泛,比如作为函数返回值、函数参数等
而且每个学习C++编程的人都知道成对的使用new和delete,也也就是new申请的内存用delete释放,new []申请的内存由delete []释放。
这一规则,在实际工作中也应该牢记于心。但是我还是没有躲过这个坑儿。
看看情况吧:
首先使用了typedef进行一些定义;
这个就是遇到的坑儿,被表面所迷惑。
所以在Effectice C++中 item16就讲到了:
最好尽量不要对数组形式做typedef动作。
new创建类对象需要指针接收,一处初始化,多处使用
new创建类对象使用完需delete销毁
new创建对象直接使用堆空间,而局部不用new定义类对象则使用栈空间
new对象指针用途广泛,比如作为函数返回值、函数参数等
而且每个学习C++编程的人都知道成对的使用new和delete,也也就是new申请的内存用delete释放,new []申请的内存由delete []释放。
std::string* first_string = new std::string; std::string* second_string = new std::string[100]; delete first_string; delete [] second_string;
这一规则,在实际工作中也应该牢记于心。但是我还是没有躲过这个坑儿。
看看情况吧:
首先使用了typedef进行一些定义;
typedef std::string address_lines[4]; std::string *third_string = new address_lines; delete third_string
这个就是遇到的坑儿,被表面所迷惑。
所以在Effectice C++中 item16就讲到了:
最好尽量不要对数组形式做typedef动作。
相关文章推荐
- 大话设计模式学习篇--简单工厂模式
- hdu 4512 吉哥系列故事——完美队形I(LICS)
- 利用匿名管道实现远程调用CMD
- java
- 第一次blog 发发牢骚
- leetcode Power of Two
- 浅谈协方差矩阵
- 基于stm32的遥控小船(一)L298N电机驱动
- cocos2d-x添加控制台日志输出
- Django-简单项目创建
- [AlwaysOn Availability Groups]AlwaysOn Ring Buffers
- scala的futue和promise
- Java单元测试问题
- POJ 1159 DP+滚动数组
- 在VS2013中调试mex文件
- C++virtual继承
- 信息安全系统设计基础第十一周学习总结
- Android手机投影到电脑屏幕的神兵利器
- 开源的力量--Git中工作区与暂存区的区别
- svn 常用命令