C++开发笔记
来源:互联网 发布:阿里云更换系统 编辑:程序博客网 时间:2024/06/05 16:23
内存与释放
malloc()与free()
是C语言的标准库函数
new与delete
是C++的运算符,可以用于申请动态内存和释放内存。在实现上实际上是调用了malloc()与free()函数,又进一步做了封装,相似却不同。两者在创建对象时,都有可能造成内存的泄露,但是new可以定义到那一行。对于非内置类型而言,在创建对象时不止是分配内存,还会自动执行构造函数进行初始化,在对象消亡之前自动执行析构函数。例子
char *pc = new char[10];//创建数组对象,长度为10,没有初始值int*pp = new int[10]();//创建数组对象,长度为10,初始化为0int *pi = new int(10);//new 一个int对象,初始值是10
delete pi;//释放int对象delete []pc;//释放数组对象
new对象后,一定要释放。否则会内存泄露。
内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。
细节
- 在定义变量后,一定要在构造函数中进行初始化,因为有时会因为没而有赋值而产生编译器查找不出的错误。
- 在多个cpp文件中进行值传递的时候,多数是函数的参数传递,尽量使用结构体,或者是类定义的对象,进行传递参数。使用它们作为数据的载体。当我们想要把自己定义的非内置类型,向内置类型一样的使用,就需要在写入到第三个文件的 头文件中,然后包含进来。
- 在涉及到计算的时候,一定要确保数值的准确,除法运算尽量
不用int,一定考虑到,分母不为零的情况。
阅读全文
0 0
- C#+ArcEngine开发笔记
- c#winform开发笔记
- Eclipse开发C/C++笔记
- linux C语言开发 笔记
- IOS开发笔记1-C语言笔记
- Linux下c程序开发笔记
- C++Directx11开发笔记三:绘制图形
- 【IOS开发】objective-c的笔记
- c语言开发cgi学习笔记
- MySQL+Winform(C#)开发笔记
- linux下C\C++ 开发小笔记
- 【Visual C++】游戏开发笔记专栏网址
- iOS开发笔记-object-c之 @[], @{}
- 搭建经典C开发环境学习笔记
- Linux下C程序开发环境笔记
- iOS开发笔记---objective-c宏定义
- 《Effective C#》开发优化笔记一
- 001-iOS开发前奏-C语言笔记
- ZK单机最简配置
- osu
- 使用servlet编程,解决输出到页面的中文显示乱码问题。
- 数据结构-01
- xml的Web服务
- C++开发笔记
- mybatiss学习之路1
- ajax接受servlet传送json数据中文乱码
- PHP之Linux(五) 进程管理与系统命令
- Python自定义大小截屏
- 深度学习模型压缩方法综述(三)
- Java设计模式之工厂模式
- JQuery
- 线程同步(9种同步方式)