17
回答
求牛人们的c++学习经验
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
本人大三,大二学的c++,非常水。。。。现在发现c++很重要,有一本将近800页的c++Primer Plus,看到吐血看了一半都没有。。。各路牛人晒晒你们的c++学习的经验吧,大家有没有薄一点的书推荐下(最好多一点练习那种)。
举报
杜庆龙
发帖于6年前 17回/2K+阅
共有17个答案 最后回答: 6年前
C++ 就是用来吐血的,等你吐完以后再看别的编程语言你会发现:尼玛,为什么老子挑了个最难的学!
哎,失败再失败~ 最后你会发现你遇到的问题都失败过,此时你就大成了
--- 共有 1 条评论 ---
杜庆龙我已经失败到不敢写代码了。。。。。 6年前 回复

看书是次,写代码实践验证方为上策,毕竟这是工程类的学科。建议与数据结构一块学(若是能结合到算法更好),用C++实现你所用的数据结构教材里面的所有代码,一行行的敲,学校有时间,会有收获。

退之而言,C可能是更加根本的,C++的OO部分,我个人不是很喜欢,多重继承鸡肋,多态的复杂性又过大,你不看编译器如何具体处理,诸如C++ Inside Object的内容不一定能深入理解,而理解了在工程上你会发现其复杂性不会有太多项目会买这个单。

 

最后,若是能跟着某个开源项目学习,那更加有成效(当然难度更大些,不再是语法层次,而是工程应用的强度下的代码),C推荐redis开源项目,C++推荐mongodb(有些庞大,也许不合适暂且略过)。

--- 共有 4 条评论 ---
RobertChen89请问下大师,要怎么才能跟着一个开源项目学习呢? 6年前 回复
zstacks@LanceLiu : 真的吗?从OWL到VCL,从MFC到Qt所有涉及大量事件行为的C++GUI框架没有一家使用标准的C++多态技术来构造窗口类,C++的多态显示申明方式与默认不多态以及按名字和按签名覆盖林林种种,用起来真的那么自然简单吗?莫要让人觉得C++阵营都有股傲气与酸味,语言之争本来就很无趣 6年前 回复
LanceLiu多态还复杂? 还复杂性过大? 如果是这种感觉彻底别学C和C++好了 6年前 回复
杜庆龙我们这学期数据结构与算法课是基于c++的,每次听得云里雾里,非常纠结。。。。。 6年前 回复
而且你以后会发现出去后,最好找工作的是java,最值钱的C,和C++没有多大关系
--- 共有 1 条评论 ---
你这话有点偏激 6年前 回复
LS评价,就我个人觉得非常好。但多态方面有时也是很好用的,而且多态是面向对象的基石。C++的功能虽然广泛,但不是要你全部用上。

引用来自“disabled”的答案

看书是次,写代码实践验证方为上策,毕竟这是工程类的学科。建议与数据结构一块学(若是能结合到算法更好),用C++实现你所用的数据结构教材里面的所有代码,一行行的敲,学校有时间,会有收获。

退之而言,C可能是更加根本的,C++的OO部分,我个人不是很喜欢,多重继承鸡肋,多态的复杂性又过大,你不看编译器如何具体处理,诸如C++ Inside Object的内容不一定能深入理解,而理解了在工程上你会发现其复杂性不会有太多项目会买这个单。

 

最后,若是能跟着某个开源项目学习,那更加有成效(当然难度更大些,不再是语法层次,而是工程应用的强度下的代码),C推荐redis开源项目,C++推荐mongodb(有些庞大,也许不合适暂且略过)。

    这些面向对象的界面程序开发库,在处理窗口类事件的时候,没有使用C++的多态并不能说是因为C++的多态太过复杂而且难于应用、难于掌控,只是因为这些库的开发者可能认为C++的多态不太适用于这种应用场景。
    WTL中简单提了一下窗口类设计时没有使用多态处理大量事件的原因,窗口类的继承层次非常多,而且窗口类需要处理的事件也很多,这样造成了每个窗口子类都需要背负大量的虚函数表。而且大量的编译后绑定必然影响效率。
    我并不是一个盲目的语言和语言技术的崇拜者,我紧紧是一个应用开发者,开发过程中我不会对任何技术因为个人的原因带来好恶、歧视和偏见。初学C语言的时候可能大家都会去尽量回避使用指针,当以C、C++作为谋生方法的时候,相信你不再会惧怕指针,多态只是面向对象中一个处理问题的方法
    另外我并不会把自己划入你提到的 C++阵营,特定的场景我会选择最合适的工具,比如处理一些简单文本、文件整理,我会使用python。未来我可能还要重新学C#,为了下一个项目做准备。
顶部