C/C++内存管理详解

内存管理是C++最令人痛心疾首的问题,也是C++最有争议的问题,C++高手从中获得了更优的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的无限怨恨,但内存管理在C++中无处不在,内存泄露几乎在每个C++程序中都会发生,故想成为C++高手,内存管理这一关是必须要过的,除非放弃C++,转到Java或者.NET,它们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权,还放弃了C++超绝的性能。

伟大的Bill Gates曾经失言:

640K ought to be enough for everybody —— Bill Gates 1981

程序猿们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决方法就是发现所有潜伏的地雷并且排除它们,躲避是解决不了任何实质性的问题。 继续阅读“C/C++内存管理详解”

C之值得回味的结构体

面对大型C/C++程序时,只需观察其对struct的使用情况即可对其编写者的编程经验进行评估。由于大型C/C++程序势必要涉及一些(甚至大量)进行数据组合的结构体,这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说,会不会用struct,怎样用struct是区别一个开发人员是否具备丰富开发经历的标志。 继续阅读“C之值得回味的结构体”

二极管类别及作用简单小结

二极管最明显的特性即单向导电性,实际1N4001型硅整流二极管测量中,红表笔接二极管的负极,黑表笔接二极管的正极时,表针会动,说明二极管能够导电;然后将黑表笔接二极管负极,红表笔接二极管正极,此时万用表的表针根本不动或者只偏转一点点,说明导电不良。(万用表里面,黑表笔接的是内部电池的正极) 继续阅读“二极管类别及作用简单小结”