关于C++学习

最近有朋友从非计算机专业转搞IT,与我讨论关于学习C++的方法,这里写下我的一些想法与大家分享。

 

首先,对于没有学过C语言的同学,想学C++的话,应该首先学习一下C语言,为什么这么说,因为C++来源于C,并且兼容C语言,所以通常简历上编程语言一栏里如果写,应该是这么写C/C++,而不是CC++,相信大家应该明白,CC++本来就是一家子,虽然差别有点大,但C++还是兼容C的,所以指针还是有的,取地址符号&还是在的,所以各种奇怪语法都出来了,取地址符号与函数参数按引用传递都是一个符号,都是&,那大家怎么区分呢,就比较麻烦了,应该是,首先出现在函数参数里肯定是引用,那出现在function body里就一定是取地址吗?不是,比如 int b=1; int& a = b; 这里的&是什么?自己想想。。。

这里是单独出现的引用,当然一般写代码不这样写,但是合法的,这就是C++复杂的根源,因为要与C兼容,所以你学习C++一定要打好基础,那就是学好C语言。

        

大家明白了要学C语言,那看什么书呢,当然是经典的《C Programming Language,作者是谁?就是C语言的创始人,同时这也是C语言最经典的书,当然国内谭浩强的C语言书应该销量是最大的,因为国内大学计算机专业的制定用书就是它。学C语言最主要是搞懂指针,数组,function,其实就这几样,当然最难的还是指针,需要花大工夫,往往是你觉得会了,下次写又不会了,那怎么办?反复学,反复看,直到真正懂了位置。当然觉得可以了就差不多了,因为我们的目的是学C++,以后不懂再回头看。

 

C++应该看什么书呢,大家肯定觉得就是C++发明人写的《C++ Programming Language,其实不然,这里我反而不推荐这本书,为什么呢,如同音乐领域里,写曲子的人不必然是唱这首歌最好的人一样,演奏Orchestra的不是作曲家一样,有时候发扬光大一样东西的不一定是第一个吃螃蟹的人,废话不多扯,C++入门手册我推荐《C++ primer,这本书通俗易懂,入门作为手册书籍必不可少,基本把C++知识点过一遍;第二本就是鼎鼎大名的thinking系列了,《Thinking in C++,如果你要想知道虚函数怎么实现的,原理是什么,就需要深入理解一下C++原理的东西,那就需要看thinking in C++了。

 

不要觉得看了这三本你就C++什么都会了,我要说学完这三本你C++刚入门,后面比如《Effective C++》,《More Effective C++, Essential C++,Effective STL,…etc,看了这一串大家就该明白了,其实不止是语言层面,如果要真正学好C++,还有几个重要的东西,数据结构,算法,操作系统这三样必须有一定的掌握才行,而且操作系统最好要学习Linux/Unix,因为linux 是开放的平台,而且C++ linux结合才可以发挥最大的效益,同时我看好的金融公司和IT也主要是用linux Server(Redhat),而需要的开发人员也是Linux C++

 

虽然学习C++曲线很陡峭,学习难度很大,但回报也是响应的很高的,因为真正用C++开发的公司一般实力比较雄厚,为啥?因为一般小公司开发,桌面肯定用C#,网页要么用java,要么用php,真正用C++,大家应该猜得出,都是巨头公司才会选择C++,而且一般是做Linux Server端开发,不排除用C++开发应用程序,比如偶最爱的音乐播放器foobar也是用C++写的。因为用C++的公司都是大公司,大家也就懂了,只要你真正学会了C++,不仅是不愁找工作,而且是可以找一份收入不错的工作。相信付出就会有回报。而且我相信的一个道理就是,如果一个职位能做的的人越多,这个职位的收入往往是越低的,而一个职位(比如C++程序员)能做的人越少,那收入就是越高的;同样对个人而言,能取代你的人越多。。。大家都明白这个道理的。

 

希望能对大家有用,谢谢!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值