答案: 孟岩先生曾经提过"C++需要自由的心",我要说"C++需要自由的心和手",我敢肯定我想的自由和孟岩先生的自由是不同的.
因为我的自由就个人诠释是 :"用自己的思路来自由的写验证性的usecase"
就个人的学习心得而言 :
1.在你学习C++的过程中,你首先需要扎实的实践一本C++基础教程,这个教程不在深而在全.使你能够全览之.最好结合基本数据结构来练习.不要整天Hello World~~Hello MM的.
2.再下来你需要《(More)Effective C++》,它使你可以对C++也多了份思考,也了解到一些技巧和误区,不过,你需要同步实践,不然可能一时你并不能真正掌握这些技巧、避开误区.
3.提高,你需要:(下面的书可能已经讲烂了:))
《Design Pattern》 :个人感觉,设计模式虽说是一种思维方式,具体实现上,只是
对OOP语言的发掘和巧妙组合而已.而且这里组合是主要的,
特性是有限的,这本书中有几个模式没用虚特性的?
C++ Standard document. 在你用它来做专项研究的时候,就会体会到什么才叫真正的
全而深 (自然指在语法和语义的阐述上).
《STL源码剖析》 :没有深厚的功底,想来个闭门造车独挑STL源码是不可能的.
不过,这本说也重在关键技术的讲解和引导罢了~~
这里关于GP和STL的名著不少,本人没看过。不做品评。
《 Inside The C++ Object Model》:最具价值的一本书,没了它,C++永远是个迷,哪怕
你浸易做图之N载~~
《Moden In C++ Design》 :这里的很多思路是你自己的思维很难接触到的~~:)
我不得不佩服Andrei Alexandrescu.
市面上其它的C++书籍可牛车载,我感觉除了《The Design And Evolution Of C++》是异品,值得一读.其它的不建议花太多的时间,哪怕是Bjarne Stroustrup、Stanley B.Lippman等的作品.自然,你有时间读更好,反正我现在有点后悔,当初只顾多,不顾深读,反复读.经典的书不在本数多,在于每本读的遍数多.一经验之谈,BBS上经常有人,在介绍COM技术书籍时,想也不想的指出,入门级<<Inside The COM>>.是这样的吗?我想,正如Dale Rogerson所说,将这本书完全看懂,你就是COM专家了~~书中,作者很多话可能你没有注意到,因为你还不懂之,对之没感觉,一遍翻下来,感觉 哦~~简单~全看了 :) 这些书,跟国内的很多书籍最大的不同就是
国内书籍的作者写的出,可能自己还不懂:)Copy什么资料上的:)??
4.浸易做图一门语言本身的语法语义再久,你不一定能够深入它的精妙之处.
答案补充你需要学习应用这门语言的实作品(技术),你可以研究一些FrameWork或是一些具体的技术 如CORBA、COM等.就个人而已,有心接触C++十个月左右,对于Virtual的认识有过几次较大的的改变.在《 Inside The C++ Object Model》中算第一次,在《COM本质论》中关于COM对二进制兼容布局需求而用虚机制来解决是第二次,到目前为止,使我对virtual流下最深刻印象的是在Automation技术中组件由于环境是否有能力分析virtual结构而导致是否需要分发接口的问题.如果,整天抱着《C++语法语义深入》这样的书,我不知你何时才能真正了解C++很多的特性.
即使你可以对别人说上一大套,这行啊~那不行啊~~云云~~:)
在这整个的过程中,我喜欢这样对学弟说,你需要经常将C++的各种特性在脑中反复混合酝踉,这也是我强调学基础时,要求教材知识点全的原因.经常的,为了研究某些特性而自由的写、修改、增加UseCase,是我自认为很好的一个习惯.整天记他人的经验之言,不知几个月后还记得几层:)?
答案补充 也许上面的叙述是概括了些:)?
总之,我认为学习C++,需要多思考(譬如你想想为什么模板类继承不支持virtual、模板 类继承,基类实例和继承类实例产生的关系是什么样的)、 多写usecase、多将一堆特性混合酝晾(譬如模板类成员签名、多种嵌套模板类成员签名、嵌套类与包裹类生命期 控制等等) 要尽早选择应用方向(这点很重要,附加个人观点:大多数人认为理论很 难,可是我要说:应用一样是有难度的:)).
将00工程学中的理论适时的来对照自己的行为.
后话:
上面提到,就应用而已,比较语言的是没有什么意义的.然而我想说的是,不敢想象
没有经过C++锤炼的人,可以深入的研究C#(事实上,我一直也不认为C#比C++好学,只是他们的深入点是不同的,冒昧说一句,C++中很多难度是人为制造出来的),就目前的情况来说,还有就是由于C++历史、社团、资源等因素.
http://blog.csdn.net/tyronedong/archive/2008/07/19/2678041.aspx
你不能这么问,问问题得讲究个方法,你这样问别人怎么回答?是不是?你先要到网上找相关的书自学,比如到当当网上,搜索C++,出来的那么多结果中看介绍,有的就写着适合初学者,然后再买下来,当当是送货到门再付款的,很好。
然后你学到不会的,再在QQ问问上提出来,这样提也的问题具体,人家也好回答你。等你把一本初学者适合的书看完了,学完了,再买一些软件项目开发实例的书,这样一些小型项目就有个底了。然后到公司应聘,到了公司了学的最快最好最多了。
先这样吧。
上一个:c++是什么
下一个:C++是什么 ?