许多编程人员学习C++程序总结经验为,有的觉得C++语言是一门独立的语言,并不是在C语言的基础上,可以直接学习C++不必先从C下手,好了下面进行对于C++程序学习切磋。
所以撇开我个人对C++程序的偏爱,我想为你树立起学习C++的信心和兴趣。当初我对自己学习C++的第一个忠告就是:不能半途而废!起初是兴趣驱动,后来则是生计所需,最后还是回归到了兴趣。
毕竟我从中得到了乐趣,这就足够了。在学一个新东西前,解决动机问题很重要。就如同杀人一样,如果只是突然兴起,那么等尝试了以后,是没有成就感的。革命先烈们为我们作出了很好的榜样,就算我们在学习C++的道路上遇到了太多困惑和痛苦,但是我们毕竟为自己的信念做了努力,我们知道自己在做什么,知道自己在追求什么。
C++程序是一门广泛用于工业软件研发的大型语言。具有很高的复杂性和解决问题的能力。C++不仅在开发上极具价值,同时在学术界也就有很高的价值。有关C++的文章应该可以用浩如烟海来形容了吧。
C++的世界级经典书籍也是数不胜数。然而,目前开发语言是如此地繁荣,就连微软也在推出了新的开发语言C#。一个不可否认的现实是,在低阶程序设计领域,C++挤压着C同时也在承受着C的强烈反弹,前段时间看了据说是微软操作系统源代码的东东,其中很多还是C语言。而在高阶程序设计领域,Java和C#正在不断蚕食着C++的地盘。
也许Java和C#的狂潮终将迫使C++回归本位— 回到它有着根本性优势的开发领域:低级系统程序设计、高级大规模高性能应用设计、嵌入式程序设计、通用程序设计以及数值科学计算等。果真如此,我认为这未尝不是一件好事。电力系统软件所要求的高性能和大规模数值计算正是C++所擅长的。就我所接触的南瑞和鲁能,很多涉及到电力系统计算的软件如PAS等,都是用C++来开发的。
在电力系统软件开发这块阵地,C++大有用武之地。C++吸引如此之多的智力投入,以至于这个领域的优秀作品,包括重量级的软件产品、程序库以及书籍等,数不胜数。在C++之父Bjarne Stroustrup的个人主页上,有一页列出了一些(全部或大部分)使用C++编写的系统、应用程序和库。
C++程序源于C语言,还记得很久以前学习C语言的时光(那是一段快乐而充实的时光),可是现在学习C++,并不是在C的基础上加上了类而已,如果这样认为,我们是耍不好C++的。因此,C++绝不是C的升级或扩充,我们应该把C++当作一门新语言来学习(C++之父Bjarne Stroustrup语)。
写程序首先希望是程序能正确执行,其次是效率能够被接受,再次就是易于维护。C++是一个难学易用的语言。C++提供了太多可选择的东西,而且使用使用C++来写程序可以有四种思考模式:基于过程、基于对象、面向对象和泛型。
STL对效率做了严格的要求,而且使用STL写出来的程序简洁美观(前段时间我特意贴了一个要求对若干整数进行排序的帖子,其实目的就是用来展示STL的简洁优雅)。一旦习惯使用泛型思维来考虑问题,我们能够充分体会到模板带来的美!
对于数值计算来说,C++标准程序库可以充分满足现代化服务和商业计算对数据、信息的即时回应的要求。
我觉得学好一门语言最重要的就是实践。也就是多“写”!“工程经验之积累”对已具有一段开发时间的程序员而言,非常重要!只有在不断的积累中,我们才能渐渐体会到C++语言中的一些背后的东西。
对于这点,没有大量程序代码写作经验的菜鸟,也可以借助《Effective C++》先攒一些经验值。《Effective C++》是一本好书!。Meyers的书绝对值得一读,Meyers可以说当今C++社群中数一数二的技术专家。
以下文字应该是去年所涂鸦而成,主要是关于动态内存分配的,在这里将其重新看了看,觉得还是写得太浅薄了。因为内存是程序运行的“运动场”,对场地的了解程度会直接影响到我们程序运行的流畅度和稳定性。
【编辑推荐】