搞过两年JAVA,想学c++,求指教

2013-08-26 17:56:17 +08:00
 tonyzzp
从事了2年android开发,目前好像基本只会java这一门语言。。。。。
想学c++,一看书好厚一本啊!!
刚看完c primer ,也没看太细,完全没有任何实战经验。。
现在想学c++要怎么下手?

虽然我知道没有什么可以速成的。但我真的想快速入门。。求别喷。
9548 次点击
所在节点    程序员
34 条回复
shawnelee88
2013-08-27 15:34:26 +08:00
C嘛 核心就是指针
C++嘛 主要应该是比C多了面向对象的思想,封装,继承,多态
记得貌似那本书里面看过,貌似就是说可以完全把c++当一门新的语言来学
c++ primer是本好书哈
快速入门有一本书:《accelerated c++》
xiiing
2013-08-27 15:51:36 +08:00
C++是最难的语言。这个世界上最难的编程语言可能非C++莫属了。你千万不要以为几天就可以学好C++,C++的学习曲线是相当BT的,你可以看看这篇文章。C++是一门很自由的语言,自由到了有点BT和恐怖的地步。我甚至认为C++并不是一门成熟的编程语言,因为太容易犯错了。所以,你一定要在一开始就要有很小心谨慎的态度,并把C++当成一种难以训服的猛兽来看待。

多问“为什么要这样”的问题。学习C++一定要多问几个“为什么是这样”,“凭什么要这样”的问题。比如:很多人知道C++有拷贝构造函数和初始化列表,但你真的知道为什么要有拷贝构造函数?为什么要有初始化列表吗?为什么要有template,为什么要有RTTI,为什么不是别的呢?难道就是为了让一门语言变得Cool一些吗?完全不是这样的,C++中的任何一个feature都有些实实在在的原因,你一定要去了解为什么要把C++设计成这样的原因,你才能学好C++。有空看看《C++演化和设计》一书。

看书,大量的C++书。你可以按如下先后顺序阅读(下面这些书,我花了大约4-5年的时间,今天我还在随时温习)
《C++ Primer》,这本初级读本可能让会你啃得很痛苦,所有的语言的特性和为什么都在里面了,好好读读。当然由C++之父写的《C++程序设计语言》也不错。两本看一本就好了(我看的是前者)。
了解C++的语法仅仅是万里长征的第一步,你还需要看看《Effective C++》和《More Effective C++》这两本书并不厚,但我从02年就一直看到现在,每次读我都有新的体会,这两本书太经典了。如果你对C语言不熟,这两本书会让你回去补C语言的课。
Think in C++同样是另一本经典之极的书,学c++必读,但是中文版的翻译的很不好,所以还是去读英文版的吧。
《C++沉思录》同样非常值得一读,这里教的不是编程,而是思考的方法,这是相当珍贵的。
《Exceptional C++》和《More Exceptional C++》让你看看各种问题的解决方法和一些常见的经典错误。
《Advanced C++》和《Modern C++》可以让你知道C++各种神奇的用法。
《泛型编程与STL》是把C++实践到了极致的东西。很强大。STL——神一样的模板库(容器,算法和函数对象),不得不服。
《深入探索C++对象模型》让你了解编译器下的C++是什么样的,让你了解C++的性能并不差。这个对于C++的程序员太关键了。我以前写过的《C++虚函数表解析》还有《C++对象内存布局》属于这个范畴。
----------------------------
转自酷壳http://coolshell.cn/articles/4119.html
kid177
2013-08-27 19:16:35 +08:00
囧,lz怎么先学java后学c++。又是外面培训班搞的鬼吗=。=
leavic
2013-08-27 20:30:20 +08:00
C++是一门看语法都能把人看傻的语言
lfzyx
2013-08-27 23:54:24 +08:00
java那么多框架,搞项目多快啊
maxiaojun
2013-08-28 02:14:05 +08:00
首先我强迫症一下,Java、C++,大小写也是正确拼写的一部分。

学C++,自然不能用来历不明的书,毕竟VC6的遗毒可能还没有完全消失。《C++ Primer》说是经典,其实我倒觉得读起来比较枯燥乏味,因为基本是罗列语言特性。只不过其他书,不是在语言上太浅或不全,就是太偏,不适合初学,所以只要一本书的话依然选择《C++ Primer》。

在实践中,不是太多C++库完全按照现代标准C++的思想设计,或者说得夸张一些,一个库一个设计(谁让C++太灵活)。所以如果楼主有了具体的开发目标,不如直接通过例子学习那个开发目标的方言,然后结合资料理解原理。

最后推荐两个网站:
http://www.cplusplus.com/
http://en.cppreference.com/w/
tonyzzp
2013-08-28 10:05:11 +08:00
@kid177 在学校c++和java都开过课。但c++完全没有学过。。
tonyzzp
2013-08-28 10:10:14 +08:00
@maxiaojun cplusplus.com这个网站很好啊,收藏了。
bengol
2013-08-28 18:23:21 +08:00
@tonyzzp 推荐<<the c++ programming language>>多读几遍
ovjaywang
2013-08-28 20:07:33 +08:00
其实吧,我觉得,把研不研究和衡量java程序猿思不思进取套在一起完全没必要。

学程序写程序的要义还是应用,有一个良好的驱动和动力才是进步的关键,职业发展和个人职业需要和潜能开发协同就好。
luoqeng
2013-08-28 21:54:46 +08:00
印像中,你想知道一門語言有哪些糟點,只要看 Effective 的書籍就行了。
LokiSharp
2013-08-28 21:59:19 +08:00
别学 C++,学 C 就足够了。
hourui
2013-08-29 00:07:06 +08:00
PHP -> C/C++ 的飘过~~~
不要对STL产生依赖, 那就是一个深不见底的大坑~~~
nil
2013-08-30 07:04:39 +08:00
直接上iOS开发好了,你会发现语言根本就不是事啊,也不应该是个事啊~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/80279

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX