当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

程序宝典:C++学习感想

在一些论坛上经常会看到一些各语言的优劣比较,知道自己所学语言的优劣也好,但是如果一味停留在这个层面就没有用了。任何语言都只是工具而已。重要的是使用工具的人!就我个人的经验来讲,真正处于业界搞开发的人都愿意使用成熟的、为自己所熟知的技术来完成工作。

    而新手都喜欢用一些比较新的技术来做开发,而且喜欢追求新奇(从界面很容易看出来,花花绿绿的界面多半出自新手)。其实,安于用一些效率可能低下、扩展性和维护性差的方法来解决问题并不是开发人员的错。他们只是在完成工作而已。但是作为一个真正有上进心的开发人员,我们应该使用更优雅和高效的编程技术,这才是我们逐渐变成编程“大牛”的好习惯。老是停留在原地,很容易被淘汰的。在软件开发这个行当,尤其如此。无论是对学生,还是一线开发人员,我觉得都不应该产生“书读够了”的感叹!我有时候喜欢将以前看过的书翻出来再看,每次总能体会到一些新东西。有关C++语言的书籍更是如此,而且我觉得我所起的题目不是很好。为什么?因为我觉得学习语言还只是新手跨入软件开发“地狱”的第一步,单单学习语言本身是远远不够的,还要学习相关的程序库(C++当然首选是先学习C++标准程序库)、相关的平台技术(如.NET),说得更远一点,还要锻炼对目标问题的分析、归纳能力等等。工作之前,技术路线自己作主,工作之后,绝大多数程序员将被公司技术路线左右。所以,趁现在还有时间,可以学一些自己感兴趣的。如果想搞软件开发,特别是电力系统软件的开发,学好C++不会令我们失望。当我们进入C++的前门,然后经过一段黑暗之路,再从后门出来到达光明顶后,我们会体味到“一览众山小”的感觉。 

  推荐书籍:  

    《编程高手箴言》---------- 梁肇新(用过超级解霸的都应该知道吧,^_^)写的第一本书,其中有几章还是值得一读的。在这本书中,梁告诉我们,学东西要耐心,要耐得住“寂寞”,走自己的路,让别人去“说”吧!

    最近比较忙,原来打算紧扣主题讲讲一些具体的C++语言的细节的,但还是抽不出大段的时间了。所以,现在只能再漫谈一些关于C++的故事了。

    C++源于C语言,还记得很久以前学习C语言的时光(那是一段快乐而充实的时光),可是现在学习C++,并不是在C的基础上加上了类而已,如果这样认为,我们是耍不好C++的。因此,C++绝不是C的升级或扩充,我们应该把C++当作一门新语言来学习(C++之父Bjarne Stroustrup语)。 更多文章 更多内容请看C/C++技术专题  C/C++进阶技术文档专题,或 写程序首先希望是程序能正确执行,其次是效率能够被接受,再次就是易于维护。C++是一个难学易用的语言。C++提供了太多可选择的东西,而且使用使用C++来写程序可以有四种思考模式:基于过程、基于对象、面向对象和泛型。

    我们使用一种语言来写程序,并不意味着就是使用语言本身,换句话说,我们更多的时候是使用程序库在写程序。比如MFC、STL、ATL、VCL等等。其中要使用C++来写出结构优美、性能卓越、代码简洁、易于维护的代码,首推C++标准程序库。STL对效率做了严格的要求,而且使用STL写出来的程序简洁美观(前段时间我特意贴了一个要求对若干整数进行排序的帖子,其实目的就是用来展示STL的简洁优雅)。一旦习惯使用泛型思维来考虑问题,我们能够充分体会到模板带来的美!对于数值计算来说,C++标准程序库可以充分满足现代化服务和商业计算对数据、信息的即时回应的要求。

    我觉得学好一门语言最重要的就是实践。也就是多“写”!“工程经验之积累”对已具有一段开发时间的程序员而言,非常重要!只有在不断的积累中,我们才能渐渐体会到C++语言中的一些背后的东西。对于这点,没有大量程序代码写作经验的菜鸟,也可以借助《Effective C++》先攒一些经验值。《Effective C++》是一本好书!。Meyers的书绝对值得一读,Meyers可以说当今C++社群中数一数二的技术专家。  

    推荐网站:www.royaloo.com

    C++提供了操作符new来在堆上分配内存,操作符delete来释放内存。有些情况下,我们需要对内存的分配和释放进行更好的控制。许多程序创建和释放一些重要类的大量的对象,如tree nodes,linked lists links,points,lines,messages,etc.使用通用的内存分配器如new和delete来进行这些对象的分配和释放有时将支配程序的运行时间和内存需求。  

    两方面的因素:通用内存分配操作的运行和空间的耗费以及不同对象大小引起的内存碎片。类使用定制的内存分配器将加快模拟器、编译器和类似程序的执行速度。

    例外一种需要更好的内存控制的情况是:需要在有限资源的情况下长时间不间断运行的程序。实时系统经常需要用最少的耗费来获取有保证的可预期的内存。这也就导致了更好的内存控制的需要。一般来说,这些程序都避免使用动态的内存分配,而使用特殊目的的内存分配器来管理有限资源。

    此外,还有一些情况下由于硬件或系统的要求,需要将对象放在指定的内存位置。这也需要进行定制的内存管理(通过重载new来加以实现)。 更多文章 更多内容请看C/C++技术专题  C/C++进阶技术文档专题,或 在C++ Release 2.0中,为了满足以上需求,内存管理机制做了相应的修改。主要是引进了operator new [] 和 operator delete []。  

    new操作符的作用范围(Scope for operator new Functions)

共3页 首页 上一页 1 2 3 下一页 尾页 跳转到
相关内容
赞助商链接