C++学习框架总结(简单步骤)
咱这园⼦不能只为⼤⽜⼈们服务对不?呵呵,写点菜鸟级的给各位像我⼀样的菜鸟。
这个是实习期间⽼师给我们讲的,编辑⼀下分享了。
C++的学习⽅法可谓仁者见仁。我这⾥分享⼀个,给⼀些新⼿⼈借鉴,因为我也是新⼿。
在浏览之前,我先说⼀下为什么要“览”!
这要说到中国⼈的认识习惯上了,中国⼈喜欢在认识事物的时候⾸先对其有⼀个⼤致的了解,明⽩⾃⼰现在要做什么,将来会有什么之类的。我称之为:“统⼤局”。
“不谋全局者不⾜谋⼀域”。所以很有必要知道怎么学习,这样往往减少很多不必要的时间。“⽼师的作⽤不就是为了减少学习成本吗?”
还有⼀个想要⾸先强调的是“⽬录”浏览!
可以给你⼀个量化的标准,那就是⽬录的投⼊时间是你单页投⼊时间⽐例最⼤的⼀块!因为通过⽬录你要获取两个信息:①这本书是不适合你。②这本书你该怎么⽤。
好的,做好准备不可少,请认真对待上⾯的话,我能静⼼⼼来写这些东西,就是因为在上⾯没有少吃亏啊。
打好思想基础,下⾯进⼊正题。
C++的学习,可以分为三⼤块。
第⼀块:基本语法。
主要就是你从教科书⾥⾯认识和不认识的那些规定。包括基本定义声明,STL的⽤法等等。
基本语法就表⽰当你进⼊C++的世界,你必须遵循的规则。不要问他为什么这样定义呢?有很多新⼿进来都这样问。这⾥不解释了,也不怪罪。分享你⼀个我们⽼师送的字:“服”。
规定就是规定,没有“Why”。
实习之前,⾃认为理解了C++,就是定义,类,STL,⽤多了就掌握了。
前⼏天拿着⼀本《C++程序设计语⾔》,让⽼师给讲讲如何学习(这篇⽂章就是拜⽼师所赐),⽼师说:“这本书⾥⾯的内容全部是C++最最基础的东西了,不能再删减了”。所以新⼿感觉⾃⼰了解了C++,这个时候你得告诉⾃⼰,“我才刚刚起步!”、
基础学习第⼀步:STL库和Boost库
STL是⼀种容器,⾥⾯定于了“属性和⽅法”就是在你处理程序数据时候的存储器和处理⽅法。
Boost库是扩展库,⾥⾯封装了很多数据结构包括图还有字符、⽹络、XML分析等等,貌似还有内存管理(这个不清楚)。
基础就是这些了,熟练运⽤后,可以说你掌握了基础的应⽤了。
第⼆块:插件扩展
C++的魅⼒所在就是在你运⽤它的时候,你是⾃由的。当你不满意程序为你设计的道路时,在⼀定程度上,你是可以⾃由选择的。(⼀定程度就是那些基本语法,够⾃由吧)。
C++在应⽤上⼏乎没有多⼤能⼒!它的核⼼代码也仅仅是核⼼代码。
如果说核⼼代码是⼀个巨⼈的话,插件就是⼀把把梯⼦,让你爬到了巨⼈的肩膀上!在⼤⽜的世界⾥,已经有了的东西永远不是最好的,(这就是为什么有了STL⼜出来Boost)所以在⽅⽅⾯⾯,你能想象到就已经存在了!(⽹络?图形?物理?GIS?动漫?画图?随你想象)⼤量的插件百花争艳般依托C++出现。魅⼒所在,任何语⾔⽆法与之相⽐!
这⾥介绍⼏个较为流⾏的引擎:(“引擎”这个词太贴切了)
⽹络引擎:ACE。 GUI:Qt(⼆维),wxWeget(⼆维)OSG(三维),OGRE(三维)
GIS,脚本引擎,CAD等等
这些东西很强⼤,⽬前只是粗略的看了⼀些,OGRE专门看过。相信我,看过这后你肯定会说“C++基础太重要了!”
插件的学习主要有两个⽬的:1.更深的认识C++究竟能⼲什么。2.应⽤在⾃⼰感兴趣想发展的⽅向。
第三块:⼀些⼩的功能模块。
这些就是你的经验所带来的收获。在我们从事了计算机⾏业⼏年后,你会发现你接触的代码重复利⽤性很⼤(⽼师说的^_^ 呵呵^_^)所以⽤⼼积累⽅为上策啊。
这⾥主要是:⽇志系统啦,多线程系统了,异常处理系统等!
Feedback
2012-02-11 18:48 by
基础学习第⼀步:STL库和Boost库
这⼀步跨度不⼩,蛋⼦都有可能扯到;既然你已经说是库了肯定不是框架,不知道是不是这样⼦
wxWeget--->wxWidgets?
......
有些不是很确定的东西最好不要写的很正式,有可能会错误的引导他⼈,但是贡献精神很值得⽀持!
2012-02-11 19:13 by
我觉得倒着学⽐较适合兴趣学习法,先学简单了解c++语法,主要了解类的⽤法,(下⾯是死循环)学英语单词,再学基于3d或 2d图形库,如opengl,qt,再学数据库,再学linux操作系统,进程,线程,socket等,最后再学boot,stl和c++详细语法和⾼级功能。最最后学数据结构、算法,数学。(死循环结束)剩下的就是死循环上⾯的过程。
⾄于mfc,com,atl,vc++⾥控件的内容尽量在学完前⾯的基础,根据需要再学,因为这些是c++的⼀个特定领域,不是通⽤的东西。核⼼的都是通⽤的,⽽不是只能在某某平台上运⾏的。
这样容易觉得c++是兴趣所在,不会觉得⼭⾼路险。
2012-02-12 01:12 by
先看《C++ Primer》或者《C++ Primer Plus》,
再看《Effective C++》,
再看《Ruminations On C++》,
再看《Inside The C++ Object Model》,
再看《C++ Templates》,
再看《C++ Template Metaprogramming》。
这是个⼈感觉⽐较扎实的学法,国内的教材⼤多都⽐较浅。不过⼀般⼈看不到⼏本就蹦达到Java或者C#了。
[楼主]     
2012-02-12 08:35 by
法克给⽊
嗯,受教了
这个是⽼师给的“学习C++” 框架,不是“C++框架”
呵呵
2012-02-12 22:47 by
推荐⼀下我以前学习C++的⽅式,需要提前解释⼀下,在学习它之前我已经有很好的C、Delphi的基础了。
数据库简单吗先看《C++ Primer》两遍。
再看《Effective C++》和《More Effecitve C++》
再看《Inside The C++ Object Model》,
再看《C++ Templates》
再看《C++设计新思维》
看完这些,估计⽤时⼀年。
2012-02-13 01:33 by  感谢楼主分享Mark:C++学习步骤