• 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

    #1楼  回复 引用 查看   

    2012-02-11 18:48 by 法克给木      
    基础学习第一步:STL库和Boost库
    这一步跨度不小,蛋子都有可能扯到;既然你已经说是库了肯定不是框架,不知道是不是这样子

    wxWeget--->wxWidgets?

    ......

    有些不是很确定的东西最好不要写的很正式,有可能会错误的引导他人,但是贡献精神很值得支持!

    #2楼  回复 引用 查看   

    2012-02-11 19:13 by 无色      
    我觉得倒着学比较适合兴趣学习法,先学简单了解c++语法,主要了解类的用法,(下面是死循环)学英语单词,再学基于3d或 2d图形库,如opengl,qt,再学数据库,再学linux操作系统,进程,线程,socket等,最后再学boot,stl和c++详细语法和高级功能。最最后学数据结构、算法,数学。(死循环结束)剩下的就是死循环上面的过程。

    至于mfc,com,atl,vc++里控件的内容尽量在学完前面的基础,根据需要再学,因为这些是c++的一个特定领域,不是通用的东西。核心的都是通用的,而不是只能在某某平台上运行的。

    这样容易觉得c++是兴趣所在,不会觉得山高路险。

    #3楼  回复 引用 查看   

    2012-02-12 01:12 by liuyanghejerry      
    先看《C++ Primer》或者《C++ Primer Plus》,
    再看《Effective C++》,
    再看《Ruminations On C++》,
    再看《Inside The C++ Object Model》,
    再看《C++ Templates》,
    再看《C++ Template Metaprogramming》。

    这是个人感觉比较扎实的学法,国内的教材大多都比较浅。不过一般人看不到几本就蹦达到Java或者C#了。

    #4楼[楼主]  回复 引用 查看   

    2012-02-12 08:35 by 伟征      
    @法克给木
    嗯,受教了
    这个是老师给的“学习C++” 框架,不是“C++框架”
    呵呵

    #5楼  回复 引用 查看   

    2012-02-12 22:47 by Stephen_Liu      
    推荐一下我以前学习C++的方式,需要提前解释一下,在学习它之前我已经有很好的C、Delphi的基础了。
    先看《C++ Primer》两遍。
    再看《Effective C++》和《More Effecitve C++》
    再看《Inside The C++ Object Model》,
    再看《C++ Templates》
    再看《C++设计新思维》
    看完这些,估计用时一年。

    #6楼  回复 引用 查看   

    2012-02-13 01:33 by Holyen      
    感谢楼主分享
    Mark:C++学习步骤
  • 相关阅读:
    vue实践推荐
    angularjs实现checkbox的点击-全选功能-选中数据
    是你需要的前端编码风格吗?
    webpack--前端性能优化与Gzip原理
    基于verdaccio的npm私有仓库搭建
    使用uni-app开发微信小程序
    《JavaScript设计模式与开发实践》-- 迭代器模式
    《JavaScript设计模式与开发实践》-- 发布-订阅模式
    《JavaScript设计模式与开发实践》-- 策略模式
    《JavaScript设计模式与开发实践》-- 代理模式
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2351097.html
Copyright © 2020-2023  润新知