当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

<b>简述C和C++的学习历程</b>[VC/C++编程]

赞助商链接



  本文“<b>简述C和C++的学习历程</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

老是被同学们问到,若何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的答复.

一家之言,欢送拍砖哈.

1、可以考虑先学习C.

大大都时刻,我们学习语言的目的,不是为了成为一个语言专家,而是但愿成为一个办理问题的专家.做一个有效的程序员,做一个赚钱的程序员.我们的代价,将表目前客户代价上,而不是语言写得好不好看.

C++是C的一个面向对象的注释,C++为C扩大了大规模工程利用,复杂的系统构造的组织和掌控办法,但是,我认为,C++骨子里还是C的.

毕竟,办理具体问题,每个函数内部,都是用C的方法写程序,还是面向历程的.

因此,想要学习好C++,我的倡议,先学习C,先学办理问题的本领,再谈论办理大问题的本领.就是先学习怎么走路,再学习怎么跑步.

2、学习C的历程中,一定要理解构造化编程思维.

为什么呢,我前面有文章说过,软件语言的发展历程,就是一个数据私有化的历程,大型工程利用,夸大高内聚,低耦合,模块化计划,保持代码最大的机动性和安全性.

这是现代工程化开辟的核心和魂魄.

因此,操纵C这门语言入门,借此理解构造化开辟思维,可以说是个很便利的路子.因为C的函数,本来就是为重用做预备的.同时,全局变量和cpp内部私有变量的差别,其利用原则,这些都能学到很多构造化开辟思维.

3、开始学习C++

C++不难学的,很多人认为C++难学,其实是因为它在C之外,又供应了很多的概念,特别是对象,很难以理解.

不过我经过这么多年,把这个问题反而看淡了,我认为面向对象相对面向历程,仅仅是构造化程序计划的一个具体表现,是编译器供应手段,逼迫程序员必须遵守数据私有化的一个实例,C++和C的关系,最核心的莫过于此.

目前我们回到C再看看,假如我们把一个全局变量,写到一个cpp里面,并且在对应的h文件中不声明,它是不是就只有这个模块可以利用?它是不是就是私有变量,以这个理解,类能懂得了吗?

4、学习C++的深化本领

C++在类的底子上,经过这么多年的发展,其实供应了很多深化的概念,看起来很复杂,其实我看也很简单.比方模板,我的理解就是“类的类”,大家说是不是?

既然模板理解了,STL,ATL这些,静态模板库,动态模板库,还难理解吗?就是一大堆类的类,可以借此实现很多利用中需求的类,不需求程序员再自己写罢了.

ok,STL都理解了,泛型开辟回难吗?所谓泛型开辟,其实就是我做一个模板,来定义一套算法法则,但是呢,我但愿这个算法法则,能进一步抽象,对核心数据范例不要限死,我把各种数据套进去,都可以用,这样,仅算法这部份,我不需求重写了.你想想是不是这个原理?

学到这里,C++和C,其实已经差不多了.再学语言,就是斥责斥责,过于钻牛角尖了.

5、学习利用开辟

前面说了,学习语言,目的不是让别人认为自己是专家,是为了写程序赚钱.因此,语言学完,要学习利用开辟.

什么叫利用开辟呢,我会一门语言,但是,客户不懂,客户说的很直接,在Windows下给我写个程序,我要什么什么功效.为啥Windows呢?因为我习惯.

OK,很多时刻,利用开辟要恭敬客户习惯,普通说来,语言这个东东,还是要结合具体平台的开辟,才能开辟出有意义的利用程序卖钱.那么,普通说来,客户端是Windows系统,服务器是Linux,这些都是行业习惯,嵌入式不好说,各种平台都有,Palm,S60,Linux,WinCE,等等.要按照自己的目标客户来定.

当我们选定目标平台后,有一个问题,选什么语言,很多时刻,学生和商用程序员差别就在这里,学生普通没得选,自己会啥就用啥呗,企业里的程序员不会,要先评价需求,看哪个语言更符合,不会的语言,要去学.

ok,假定我们选了C和C++,那么,我们需求挑选开辟平台,Windows下不用说了,VC,这是最好用的,Linux下呢,gcc,其他的也差不多.

假定我们开辟VC,并且利用C++,这个时刻,才需求考虑学习MFC了,因为这是微软的尺度类库,至少Windows平台下,它最声望,你瞥见没有,我们从学习开始,走了多少步,才走到MFC?是不是MFC不是学习C++上来就必须学的?


  以上是“<b>简述C和C++的学习历程</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .