毫无疑问,学习C++是一件痛苦的事情。

  我大概十年前接触C++。那是在学校里,准备考研究生,某学校要求考C++。我就开始一点一点学习,学习的过程还是比较舒服的。不得不说,就古典C++的理论,钱老讲的还是很好的。但是主要是能完成“Hello, World!”的几个版本而已,而这对于应考来说是足够啦。虽然我最后未能直接读研,但自觉C++理论我还是学得不错的。

  05年毕业遇到了两个尴尬事。第一件事是我去一家公司面试开发,要求写一个1+1=2的有界面的程序,结果被鄙视啦。俺只学过C语言,没有开发过任何有界面的程序(Matlab不算的话),因为俺是数学系毕业的。第二件事是,我终于找到工作,但面临相同的问题。好的一点是,领导给我两个月学习。我经过两个月的艰苦学习,终于,败下阵来。搞了半天连MFC的main函数在哪里都不知道。总是觉得好深好深,像一个无底洞一样。找不到开始,也找不到结束,跟我理解的C语言差距太大啦。最终被领导拐骗到C#上啦。C#实在是太可爱啦,就像是Q版的C一样,一切井井有条,简简单单。

  十年来,我对C++怀着极其复杂的心情。讨厌它,因为我在它面前败下阵来;恐惧它,因为它深不见底;向往它,因为它是一座高峰!

  十年后的今天,因为工作需要,我被迫必须使用C++。我再次向C++发起了进攻!主要有四个步骤:买书、啃书、加入QQ讨论群、修改C++产品代码。

  买书。买什么书是个很讲究的是,实际上这也使决定成败的一步。我的感触是——“没有学会一门技术,要么这门技术还不迫切需要,要么没有找到一本合适的书”。在迫切需要这项技术的前提下,我急需找到一本好书。翻遍各种博客论坛,我最终决定买《Visual C++ 2012 入门经典》这本书。事实证明,我得决定是明智的,除了这本书太厚以外。呵呵。

  啃书。这是必经的阶段。我看书一向很慢,我一步一步,如履薄冰。一页一页看,生怕漏了啥东西,后头看不懂。关于厚书,我有一句名言“书非拆不能读也”——拆一章看,看完再拆一章下来。这样容易打消看书的恐惧感。不过还保存好看完的那些章,最后把这些再订起来。这方面我的感谢我的老婆,她最后总是把我的书订好,订得跟线装书似的,比原装的还漂亮。言归正传,看书不能光看,还要练习,就是把书上的例子一个字母一个字母的录入IDE中,编译,运行。感受这些理论和代码。这里还有一句名言——“Pratice makes perfect”,与君共勉。

  加入QQ讨论群,群里不一定要有大牛,只要有热心的同行者、过来人就行。我特别感谢“C++/C#技术交流”群里的马东同学,他屡屡三更半夜回到我的问题,帮我答疑解惑。这极大地鼓舞了我的信心,让我没有像八年前那样郁闷、溃逃。

  修改C++产品代码。写在最后,但这不是最后做的事情。上班就要工作,工作就要写代码。虽然还不是太熟悉,但是必须得写啦,哪怕是一天写几行。然后不断学习,不断重构,直到必须结束。

结语

  好的开始是成功的一半,借发哥一句广告词“我才刚刚上路呀”!

VC++ 学习笔记(一):如何开始的更多相关文章

  1. 孙鑫VC学习笔记:多线程编程

    孙鑫VC学习笔记:多线程编程 SkySeraph Dec 11st 2010  HQU Email:zgzhaobo@gmail.com    QQ:452728574 Latest Modified ...

  2. VC++ 学习笔记(序):神一样的语言

    总的来说,我觉得VC++是一门神一样的语言——它是公认最强大.最复杂的:它一切以效率为第一要务,却又不肯落伍,拼命兼容现在的新的语言设计特点.本来在别的语言很容与就避开的问题,在这里要用很高的技巧去设 ...

  3. VC学习笔记:对话框

    VC学习笔记:对话框 SkySeraph NOV.11st 2009 HQU Email-zgzhaobo@gmail.com  QQ-452728574 Latest Modified Date:O ...

  4. 【VC++学习笔记一】MFC操作Excel

    最近在做一个读取Excel的功能,之前也做过相关的,但总是零零闪闪的,趁着正在劲头上,归纳一下: 利用Automation添加相关的类,在Excel2010中可以在安装文件夹下直接点击Excel.ex ...

  5. VC++ 学习笔记(三):摩登之路——C++/CLI简介

    在Windows上,除非我们必须得用C++来写界面,否则我会选择避免,避免学习和使用MFC.替代的方案是用C#来做界面,然后用C++/CLI来连接C#和Native C++.那么问题来了,C++/CL ...

  6. VC++ 学习笔记(二):VC++与C、VB和C#

    罗马不是一天建成的,VC++的也不是凭空产生的——它一直标榜自己的从C发展而来的.VB好像是专门为了羞辱VC++而创建的.C#呢,是微软类C语言的新秀——其实也不新了.乱吧?貌似挺乱的,其实这里有章可 ...

  7. VC学习笔记---ATL MFC CLR三个库的区别

    MFC.ATL和CLR是VC2005内置的三大库,涵盖了Windows的各种开发方法和开发应用.当然关于C++开发的库不止这三个,不过这三个是微软推荐. 从编程所处层次而言,WIN32为最底层,其次是 ...

  8. VC++ 学习笔记(四):停止还是暂停这个系列

    我已经很久没有更新这个话题了,原因是多方面的,比如比较忙,比如我参与的项目不使用C++.最近因为需要在C#的客户端中调用第三方的C++API,又想起了这个话题.在跟公司里的C++方面专家聊过之后,我有 ...

  9. VC++ 学习笔记(六):简单C++

    到现在,我觉得终于找到学习和使用C++的基本原则了——务必简单.将其看成一个带类的C,或者将其看做标准库下的C++. C++太复杂——其实这种复杂性,所有语言都有,只是多数语言都隐藏了这种复杂性,只有 ...

随机推荐

  1. android --- Afianl框架里面的FinalBitmap加载网络图片

    Afinal里面FinalBitmap:用于显示bitmap图片,而无需考虑线程并发和oom等问题. 1.测试请求 使用网页打开http://avatar.csdn.net/C/6/8/1_bz419 ...

  2. NOIP 2015 信息传递

    kawayi 题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学. 游戏开始时,每人都只知道自己的 ...

  3. Extjs的GridPanel的RowExpander的扩展

    对Extjs的grid使用,有时候单单使用其中的某些组.或某些行是远远不够的,还需要对行进行一些扩展,如:与filters相似的row扩展控件,如下 这个控件,我也是从网上找的小例子,按照其内部的某些 ...

  4. 用C写的俄罗斯方块游戏 By: hoodlum1980 编程论坛

    /************************************ * Desc: 俄罗斯方块游戏 * By: hoodlum1980 * Email: jinfd@126.com * Dat ...

  5. sql trunc()的使用

    1.TRUNC(for dates)TRUNC函数为指定元素而截去的日期值.其具体的语法格式如下:TRUNC(date[,fmt])其中:date 一个日期值fmt 日期格式,该日期将由指定的元素格式 ...

  6. 用c#开发微信 (13) 微统计 - 阅读分享统计系统 3 UI设计及后台处理

      微信平台自带的统计功能太简单,有时我们需要统计有哪些微信个人用户阅读.分享了微信公众号的手机网页,以及微信个人用户访问手机网页的来源:朋友圈分享访问.好友分享消息访问等.本系统实现了手机网页阅读. ...

  7. CoreCLR中超过3万行代码的gc.cpp文件的来源

    在CoreCLR的开源代码中,GC的主要实现代码gc.cpp文件大小竟然有1.17MB,打开文件一看,竟然有35490行!第一次见到如此多行的单个代码文件. github都不让直接查看:https:/ ...

  8. 03-Vue入门系列之Vue列表渲染及条件渲染实战

    3.1. 条件渲染 有时候我们要根据数据的情况,决定标签是否进行显示或者有其他动作.最常见的就是,表格渲染的时候,如果表格没有数据,就显示无数据.如果有数据就显示表格数据. Vue帮我们提供了一个v- ...

  9. Nginx学习笔记(六) 源码分析&启动过程

    Nginx的启动过程 主要介绍Nginx的启动过程,可以在/core/nginx.c中找到Nginx的主函数main(),那么就从这里开始分析Nginx的启动过程. 涉及到的基本函数 源码: /* * ...

  10. p4 是否能自动merge

      总结: 1)如果在copy merge(-at)/auto merge(-am)后修改source branch,则可以自动被copy merge: 2)如果在manual merge后修改sou ...