看到那些对VC不知从何下手而苦苦挣扎的朋友,希望我的学习之路能给他们一下借鉴。学VC并不是传说的那么难,可不下些功夫是学不成的。学编程急不得,没有编程的基础知识上来就学VC肯定碰一头灰,说VC难就难在这点上了。如果硬上,意志坚强的话还能挺过来,但最后还得回头来补习基础知识。意志不坚强的话,很有可能就此放弃,并留下一个VC难得不得了的印象。其实,只要踏踏实实一步一步来,学VC很简单。对于没有编程基础的人首先要学习编程的基础知识,如变量,语句,基本的算法等,然后写一些小的程序,实现些常用算法对自己的思维是很好的锻炼,对以后的学习大有好处。起码要能排排序,求个八皇后,算个汉罗塔,再知道一点深、广度优先搜索。如果你已经有一些编程的基础知识了,自然就可以跳过这步。在对编程有一定的认识之后,就应该开始进军C++了。注意,C++是一门语言,而VC则是讲解如何在VC环境下使用MFC类库,学习VC应建立在充分了解C++的基础上的。
        学完了C++,最好先找本Win32编程的书,Win32编程是指用Windows API编程,MFC是将众多的API函数进行了封装的类库,用起来方便了不少,但如果没有一些API编程基础,对相关概念不了解,学起来MFC来可能会很费解。API函数有2千多,不需要都学。其实只要知道如何创建窗口、对话框、控件、消息循环,了解了句柄的含义就差不多了,最好再了解一点GDI编程。这个阶段的关键是要理解Win32程序是如何运作的,把握各种窗口间的关系。因为你以后应该很少直接用Win32 SDK编写程序,所以关键是理解整个结构,记住几个函数并没有什么意义。函数用的时候可以现查。打好了基础,现在进军VC的障碍都已经扫清了。不过还是应做好充分的思想准备,事情不会那么顺利的。刚开始你就要面对一个瓶颈,大量的紧密关联的知识,使你必须一下理解一个整体,而很难一点点来。可以说学VC最难得就是刚开始。情况有些类似于第一次创建窗口时面对的那长长的程序,很多人就是在此被它难住,放弃了学习。事实上,这几乎是Windows编程的一大特点,突破了这个瓶颈之后便是一片海阔天空,而有着扎实基础的你是一定能闯过去的。建议不要等彻底弄明白一句才看下一句,等能做出个菜单、对话框时便回头再看一遍,几遍之后应该就可以大概明白MFC程序的运作了。这里有个关键,一定要用心体会面向对象编程的精神,努力将眼前的程序与之前的知识联系起来。通过比较成员函数和对应的API函数间的区别,尝试去理解MFC是怎样封装相关的API的。例如,相当多的宏,看起来很奇怪,但你不必理会其实现方法,只要知道如何使用便可,这点也很重要。还有,对于其生成的代码要自己进行分析,偷懒就不能真正理解MFC。这是我一个人的学习经验,不过经验要因人而异,所以还要根据个人的情况决定。开始时,教材让怎么办就怎么办,比猫画虎的做出个菜单、对话框,然后试着添加控件。等到不看教程便做出这些时,开始逐字逐句的试着理解MFC程序的组织。若看不懂就跳过看下面的。就这样一遍一遍来。如果觉着头大就先歇上2天,等清醒了再接着来,最好在这期间多找些介绍MFC框架的文章。然后便可试着写个定时器、名片夹之类的小东东,熟悉一下各种控件的使用。突破了开始的瓶颈之后再学下去便会越学越容易,因为你可以一点一点的积累知识,而不用担心被卡着了。再过不久,你就可以使用API函数完成一些功能,如在系统托盘加图标,自画列表框等。这时,你也会体会到学习Win32编程的好处了。最后,建议有时间的话研究一下各种算法。数据结构是一定要看的。不一定要记住,但至少要知道有那么回事,万一碰到问题可可以知道问题出在哪里。其实,常见的链表等结构以及排序等算法在C++标准模板中已经实现了,不用你去费劲,但有些了解总是有好处的。至于离散数学、线性代数什么的,对于复杂的算法是必要的,其中离散数学是数据结构的基础。

一个VC爱好者的入门之路相关推荐

  1. 一个菜鸟的Geant4入门之路:alpha粒子轰击金箔的例子

    一个菜鸟的Geant4入门之路:α\alphaα粒子轰击金箔的例子 文章目录 一个菜鸟的Geant4入门之路:α\alphaα粒子轰击金箔的例子 前言 去哪里找资料: 几个重要的类 一个活的G4程序需 ...

  2. [转载]一个图形爱好者的书架/白话说学计算机图形学

    1.一个图形爱好者的书架 原文地址:http://blog.csdn.net/nhsoft/archive/2004/06/23/22992.aspx          早几天看到有人把自己在大学四年 ...

  3. 转----一个图形爱好者的书架.-也来介绍一下我的藏书.

    一个图形爱好者的书架.-也来介绍一下我的藏书. 早几天看到有人把自己在大学四年的书列了出来.招来一顿怀疑.我是开发图形程序的.我现在也把我的书列出来.不怕大家怀疑吧.希望能有点启示作用. 绿色的是我看 ...

  4. 一个图形爱好者的书架

    http://www.360doc.com/content/05/1027/13/2198_24643.shtml 一个图形爱好者的书架.-也来介绍一下我的藏书. 早几天看到有人把自己在大学四年的书列 ...

  5. DBA入门之路:由浅入深的总结学习法

    有很多DBA朋友在入门时总觉得不得路径,长久的徘徊于门外,而过来人的经验又往往高屋建瓴难以落地,两者总觉得难以对接起来,如何才能解决这个问题呢? 我一直推荐的学习方法,之前在文章 DBA入门之路:学习 ...

  6. 我的机器学习入门之路(下)——知识图谱、推荐、广告

    继上一篇<我的机器学习入门之路(中)--深度学习(自然语言处理)>,这一篇博客主要记录了我对知识图谱.推荐和广告等方向的一些涉猎与基础学习. 一.知识图谱 从自然语言处理到知识图谱,是一个 ...

  7. 我的机器学习入门之路(中)——深度学习(自然语言处理)

    继上一篇<我的机器学习入门之路(上)--传统机器学习>,这一篇博客主要记录深度学习(主要是自然语言处理)这一块内容的学习过程.以下均将自然语言处理简称NLP. 这一块内容的学习路线分为三部 ...

  8. 【Azure Show】|第九期 “我的计算机入门之路” 嘉宾秦婷婷汪宇杰文轩

    欢迎来到Azure Show! Azure Show 欢迎来到Azure Show 第九期!继上期[搭上AI快车]为大家带来数位微软技术专家于各自IT技术领域的经验分享,有2400多人在线上通过b站看 ...

  9. 小猪的Android入门之路 day 1

    小猪的Android入门之路 Day 1 Android相关背景与开发环境的搭建 ------转载请注明出处:coder-pig 本节引言: 随着社会经济的发展,移动互联网的越来越热,手机APP开发显 ...

最新文章

  1. 函数调用过程,栈帧的一点理解
  2. markdown 图片居中_Markdown更改字体、颜色、大小,插入表格等方法
  3. 【翻译】如何创建Ext JS暗黑主题之一
  4. .NET Core 微服务之Polly熔断策略
  5. 华为v5服务器安装操作系统,v5服务器
  6. [转载] python maketrans_python2和python3中maketrans和translate的用法
  7. 在学习C语言和C++初期的疑惑有哪些?
  8. 优化理论02----凸函数、共轭函数、拟凸函数、对数凹/对数凸函数、关于广义不等关系的凸性
  9. 三丰三坐标编程基本步骤_smt工程师总结smt贴片机编程步骤
  10. 目标客户画像_怎么进行目标人群的用户画像分析 - 爱盈利
  11. 最简单日柱推算法_怎样推算大运、小运、流年和命宫?
  12. pgsql在连接的时候报:不支援 10 验证类型。请核对您已经组态。。。
  13. 西部世界:生存(WestLand Survival) 游戏攻略
  14. 每日英语好文翻译(11)
  15. 计算机网络之(7):TCP流量控制、拥塞控制 + 网络层
  16. 烟雾检测电路c语言程序,基于51单片机火灾报警器系统烟雾检测温度检测设计(原理图+程序仿真+论文)...
  17. 计算机专业哪些课程好难,计算机专业课程有哪些 学计算机难不难
  18. 计蒜客题解——T1769:最大岛屿
  19. 详解设计模式:桥接模式
  20. 李翊 先吞噬后反刍,擒贼擒王--java之我注六经之二

热门文章

  1. 2011年的工作总结
  2. 8月1日起,香港超10家主流银行开户全部豁免管理费
  3. 祝贺绝影签售,另声援
  4. 安装打印机时提示请反回上一步,使用USB数据线重新连接电脑和打印机
  5. 锁升级过程(无锁、偏向锁、轻量级锁、重量级锁)
  6. 2020中南大学研究生招生夏令营机试题题解
  7. 网易云课堂Java入门视频课程
  8. Grafana变量介绍
  9. 用注册表修改Windows系统的MAC地址
  10. 基于jsp+sevlet+mysql实现留言板