<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++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |