毫无疑问,学习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. C++堆栈生长方向

    栈区:临时区 #include <iostream> using namespace std; #include <stdio.h> int main() { ; ; cout ...

  2. PHP header函数使用教程

    在php语言中,header()这个函数很有用的,尤其在用到ajax时候,他会帮你解决一些意想不到的问题.下面是header的一些详细讲解.希望对phper有帮助 代码如下: <?php// f ...

  3. 让IE支持placeholder属性~

    原文:https://www.oschina.net/code/snippet_206691_26471#44160 让支持的直接路过,不支持的,完美显示~~ /*  * jQuery placeho ...

  4. Dynamic CRM 2013学习笔记(九)CrmFetchKit.js介绍:Fetchxml、多表联合查询, 批量更新

    CrmFetchKit.js是一个跨浏览器的一个类库,允许通过JavaScript来执行fetch xml的查询,还可以实现批量更新,分页查询等.目前已支持Chrome 25, Firefox 19 ...

  5. win7 64系统安装oracle客户端使用PL/SQL Developer工具

    1)安装Oracle 11g 64位,我用的版本下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/download ...

  6. EL表达式的操作符

    表9.1 EL表达式的操作符 操作符 功能和作用 . 访问一个bean属性或者Map entry [] 访问一个数组或者链表元素 () 对子表达式分组,用来改变赋值顺序 ? : 条件语句,比如:条件? ...

  7. .Net下 自动执行MSI和EXE文件

    MSI是安装文件,需要系统自带的msiexec.exe来执行 var tempDir = @"D:\UploadFiles\SCADASetupWix.msi"; var star ...

  8. verify.js使用验证插件使用

    github:https://github.com/52fhy/verify.js 首先引入js,最好拷贝verify整个目录,因为里面有图标. <script src="verify ...

  9. crossplatform---Nodejs in Visual Studio Code 05.Swig+Bootstrap

    1. 开始 准备好Express+Swig的练习代码:https://github.com/Mengkzhaoyun/nodepractise 准备好AdminLTE后台管理模版:https://ww ...

  10. atitit.设计模式(1)--—职责链模式(chain of responsibility)最佳实践O7 日期转换

    atitit.设计模式(1)---职责链模式(chain of responsibility)最佳实践O7 日期转换 1. 需求:::日期转换 1 2. 可以选择的模式: 表格模式,责任链模式 1 3 ...