百科问答小站 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++,有什么书籍推荐? ? 
  汇编下call和ret指令是否有内存屏障的作用? 
  为什么编程语言有这么多种类?为什么不统一成一种语言呢? 
  除了武侠,其他书都看不下去,但现在想看其他方面的书,但有什么建议吗? 
  C#中函数中参数问题? 
  既然有 memcpy_s 这种安全实现,为啥不禁用危险的 memcpy 或者更新 memcpy 源码? 
  如果你是一个C++面试官,你会问哪些问题? 
  C/C++中的数组为什么必须定义之后在一行内立刻赋值,而不能定义数组之后换一行再赋值? 
  C++中 std::string 应该声明在循环内部还是外部? 
  c语言中,关于switch循环的这个疑问怎么解? 

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





© 2024-11-08 - tinynew.org. All Rights Reserved.
© 2024-11-08 - tinynew.org. 保留所有权利