百科问答小站 logo
百科问答小站 font logo



非计算机专业自学C++,有什么书籍推荐? ? 第1页

  

user avatar   pang-pang-xiong-39 网友的相关建议: 
      

我是自学C++的,应该是有资格回答这个问题的。

如果把学成C++的过程用100分来计算

1、开始,+10分,Hello World

工具:

  • 推荐
    • Visual Studio
    • Visual Studio Code
  • 其它
    • Qt Creator
    • 。。。

没错,就是这么任性,C++很难吗?也不过是一门编程语言而已,大概率是没有高数难的。问题的关键是你总能给自己找到理由不走出这至关重要的第一步。

2、看书,+50分

C++是一门超过30岁的古老编程语言了,关于这门语言的一切精华,前人之述备矣,该写的基本上都写完了,你能想到的问题基本上都可以在下面这些经典书籍中找到:


问题是这么多的书怎么看得过来?核心的思路是必须形成输入+输出+反馈的闭环:

  • 一定要敲代码
  • 一定要做笔记,最好写博客
  • 有问题要去搜答案,实在不行再去论坛上问

这么多的书需要全看完吗?那大概率是你十年内都不能去面试。最最关键的书籍是那本?我首推《Effective C++》,“世界上只有两种C++程序员,一种是读过《Effective C++》的,另一种是没有读过《Effective C++》”。这话虽然夸张,但确实有一些道理。

倘若你已经将《Effective C++》精读过,也把其它的书略略的泛读过了,那么你现在大概是60分了。可哪怕你现在只有这60分,你也同样有资格在简历上写精通C++了。对,你没看错,现在的C++应聘者十有八九都没到这个水平,写精通,不是因为你的绝对水平有多高,只是因为你的相对水平已经够高了。大概率,面试官会对你写的精通两字嗤之以鼻,但只要你能真的把你从这些书中理解到的东西用你自己的话讲明白,面试官一般也会高抬贵手的。

3、专题,+20

不要再指望着神功大成再出山行走江湖了,真的,这可亏大了。尽快投入到C++工作实战中去才是最好的学习捷径。无论是搞服务器、游戏、UI、算法等等,专题的东西就在专题中学习就够了。

但是为了避免浪费双方的时间,我还是诚恳的建议你,面试前,至少,你应该把下面这几个小例子搞得清清楚楚:

  • 字符串类String
  • 有理数类Rational
  • stl容器测试用例
  • stl算法测试用例

4、关于github,+10

原则上,我并不推荐新手直接去github上找成熟的项目代码看,原因有两个:

  • C++这门语言太灵活,不同的人可以写出不同的风格来
  • C++这门语言太晦涩,真正读懂别人的代码其实不比读古文来得轻松

所以,功力不够的时候与其去东施效颦,还不如不看。最简单的衡量标准可能是:先写够20000行C++代码(当然不能是那种高度雷同的复制黏贴体),然后你才有些底气去看别人的成熟项目代码。

5、没有100

C++语言属于那种不管你多么小心谨慎地呵护它,它总能时不时地带给你一些小惊喜,小意外的另类语言。所以,注定没有100分。




  

相关话题

  在真实工作中的编程是怎么样的,与学校里有什么不同? 
  为什么培训机构很少有培训 C 语言的,大部分都是 Java,C# 什么的? 
  汉语编程语言意义何在? 
  理解日本文化,有哪些好书值得推荐? 
  在C++中,为什么部分程序员喜欢在循环中写‘++i’而不是‘i++’? 
  语文课本里「已删节」的原文有多厉害? 
  如何评价Qt Lite Project? 
  你碰到过的最难调试的 Bug 是什么样的? 
  关于Qt性能的损失,有没有一个可以量化的概念? 
  C/C++编程有哪些没什么用,但让人不明觉厉又不至于太奇怪的写法? 

前一个讨论
订婚宴双方父母谈崩了,怎么继续下去?
下一个讨论
百亿量化私募鸣石就控制权问题内部不和,志同道合、志存高远真的很重要,你们觉得呢?





© 2024-05-18 - tinynew.org. All Rights Reserved.
© 2024-05-18 - tinynew.org. 保留所有权利