编程基础知识,计算机编程的基础知识( 二 )


深刻理解内存与指针的关系作为一个C/C程序员,从学习程序的头一天开始,就要和内存的分配释放作斗争 。你必须理解内存与指针的关系 。怎么样才能理解呢,请大家去看 《高质量C/C编程》里面自带的几个经典例子吧 。把那几个例子搞得清清楚楚,基本能够理解其中的原理了 。仔细研究apache源码学程序非特别是C/C程序,非3年之功可以出山,三年对一个C/C程序来说是一个从量变到质变的过程,三年的项目实战经验,可以让你接触到一个完整的应用程序所需要具备的骨架 。
但是这个阶段你写的代码,可能充满BUG,会宕机,运行效率很差,自己回头看看一年前写的代码,可能自己都感觉恶心,看不下去 。没有关系,这种感觉是每一个进步青年都会有的 。要提高自己的代码水平,还是要像高手学习 。你可能要问,公司同事的水平一般,水平好的人家也不愿意给我讲 。没有关系,开源的代码就是你像高手学习的最佳途径,开源代码是高手留下的练功秘诀,你看了后你会突然感觉茅塞顿开,感觉自己的水平差人家太远了 。
我为何要推荐apache的源码呢?apache的源码是高手中的高手写的,执行效率和程序架构堪称一绝 。里面的很多思想是所有程序都通用的,搞懂了,很多模块你也可以直接拿来使用 。apache对内存池的使用,对线程池的使用,对模块结构的封装,非常具有实际意义 。要是你能把apache的源码吃个透彻,每一个细节都搞明白了为何人家要这么实现,我可以给你说,“恭喜你,你离传说中的高手已经不远了 。
”修炼C我上面说的基本都是修炼C的,要修炼C,还得再花3年功夫,才有可能练成C高手 。C太博大精深了,其中最复杂的莫过于泛型编程思想,不要以为能写个模板类就认为泛型编程不过如此而已 。仔细看看STL源码,Boost 源码,你就知道泛型编程有多么的博大精深了 。修炼C,可以从用C封装的MFC入手,看高手如何通过C语言,封装这样庞大的UI库,里面应用了很多的C机制,最典型的就是多态机制,还有很多的设计模式应用可以研究 。

推荐阅读