Effective C++回顾(2)
来源:互联网 发布:tensorflow java版本 编辑:程序博客网 时间:2024/04/28 14:48
条款3:尽量以new和delete取代malloc和free
取代没有问题,这个对于了解c++语言的人都了解它们之间的不同,可是往往在代码中很多时候还是会出现混淆。主要原因是,虽然我们使用C++来书写代码,可是程序中会大量使用一些C语言库和一些早期的C语言书写的公共库,所以在什么时候对返回的内存要调用delete,什么时候要调用free,对于一些维护项目和新员工来讲,还是一个非常复杂的问题。由于程序在很多的情况下,混淆释放内存函数,并不会引起程序问题,在这种情况下也就更难以发现问题了。为了解决这个问题,我们想出了一个办法,就是对于new出来的对象,我们是返回一个autoptr类,对于malloc出来的,返回的就是一个void *,采用这种方法之后,混淆释放内存函数基本上就再也没有出现过,同时也接近了采用了面象对象的方法了。
条款4:尽量使用C++风格的注释形式
这是我自己认为实现的最彻底的条款。问题的关键,我们不是用来写注释,而是用来注释代码,这两个是有很大的区别的。对于程序中要不要书写注释,我也看到过很多的书都讲了它的重要性,可是自己也阅读了很多的SDK,发现注释虽有,可是少的可怜,而且很多情况下,一些注释还会引起一些误解。自己在开发程序这么多年,写过的注释少的可怜,数都数的过来。我想主要是有下面几个原因:
1. 懒惰。
2. 认为代码就是最好的注释。
3. 对于一些注释,由于后来的功能发生了变化,没有及时的更新注释,注释变成了误释了,所以也就认为没有必要了。
对于代码中要不要写注释,自己还是很茫然。
待续
- Effective C++回顾(2)
- 回顾经典Effective C++ 2
- Effective C++回顾(1)
- Effective C++回顾(3)
- Effective C++回顾(4)
- Effective C++回顾(5)
- Effective C++回顾(6)
- Effective C++回顾(7)
- Effective C++回顾(8)
- Effective C++回顾(9)
- Effective C++回顾(10)
- Effective Python 第一章回顾
- Effective C++(2)读书笔记
- 《effective c++》读书笔记2
- More Effective C++(2)
- <Effective C++>读书笔记-2
- 【C/C++】知识回顾2
- c语言基础知识回顾2
- 编译器开发: 利用图的拓扑排序算法,计算源代码文件之间的依赖关系
- 完成了一个nfo阅读器
- J2SE 5.0中的泛型
- 唤醒密码学研究的沉寂领域
- XMLHttpRequest对象概述
- Effective C++回顾(2)
- 程序员是如何喝酒的
- 测试
- 深入探讨C++中的引用
- 好耳机真是爽
- C#.Net中TreeView控件应用详解!
- FCKeditor 2.1.1使用部署技巧
- FCKeditor在ASP环境中配置使用
- DateSet使用技巧