C++入门书籍,我是不是被坑了?
在 B 站找 C++自学路线,有的 UP 主包括 01 星球等,推荐书籍《 C++ Primer Plus 》。我买回来上下两册,巨厚。
上册目前看了两百页。
我发现这书的槽点有两点:
第一点是书中明确说对于初学者不需要 C 语言基础,或者其它语言基础。但是它一再提及其它语言(有些是没有见过的语言),甚至大篇幅讲 C 语言语法,示例里 C 语言和 C++混用,看了之后合上书顿时分不清哪个是 C 的,哪个是 C++的。对于没 C 语言基础的人来说,尤其痛苦。
第二点是重点的地方不讲深,几句话带过去了,而不重要的地方废话真是多。
当时 B 站的人推荐理由是 C++ Primer 更深,不适合初学者,推荐 C++ Primer Plus 。
后悔当时没有在外网去收集这两本书的不同之处,外网骂后者是垃圾书籍的可多了。。。
这两本书完全不是同一级别,Primer 更好,Plus 是 shit!
就吐槽一下,看完还是要看完的。
如果不是明确的有需要用 C++的开发需求的话,新手用 python 入门吧,省事一点。
LZ 是非理工科的底子吗?你的这句:对于没 C 语言基础的人来说,尤其痛苦 --- 一般理工科的基础课里要么有一门 C 语言的课程,要么有一门 C++语言课程。无论上过哪一门,都能快速区分出一段代码里有没有 C++的元素。这里不说“快速区分出一段代码里有没有 C 的元素”,是因为 C++的编译器是兼容 C 语言的,C 语言的部分,C++语法都支持,虽然可能编译的结果有差异。
如果你没有理工科的基础,那入门 C++还是略有难度的,最好有个人带,和实际项目一起入手。如果有理工科基础,但看 C++ Primer (Plus)这种书吃力的话,那还是多写 demo 代码,可以快速把语法吃透,毕竟那么多语法,只通过看书,完全看过都是非常痛苦的事,更不要提掌握
plus 还可以吧 我十几年前在学校自学就是学的这本书 我觉得掌握语言还是没什么问题的
C++初学者可以不学 C ,但是最好学过其它编程语言,现有个面向过程编程的逻辑再去学面向对象。Plus 本身不至于屎,但是碰瓷 Primer 属于原罪了。
如果是大一、大二的话,可以先 !!!批判性地!!! 学习学校里发的课本,比如谭浩强的 c++,把上面的实验都做一遍,然后再学 C++ Primer
再之后就可以学 unix 网络编程 和 CSAPP 了,再然后可以看看 muduo (可能有年头了哈
unix 网络编程和 csapp 学了之后内功就挺深厚的了
推荐个网站: www.learncpp.com/ ,很清晰,入门很友好,还会很自然地引入一些 Modern C++ 的特性,作者还会在评论区答疑
不明白为啥要学 C++,我记得那是我十五年前上学刚工作的时候学的,现在除了嵌入式和一些 AI 的得层用的很少了,你是要从事这个方面的工作吗?如果仅仅是学习编程,学个 Python 就足够了
确实,看各自语言生态库的数量和更新频率就看得出来了,前三的基本都是 py ,js ,java ,很多年雷打不动,很多时候 c++是第二或者第三语言了(就算刚毕业就奔着 c++岗位的之前也应该有学习其他语言),所以 op 提到的 c++教程为什么会有其他编程语言混入 23333
不过我也非常讨厌 c++教程里面混入 c ,你可以教我用 c++的第三方库解决这个问题,但是别教我用 c 自己去处理,混在一起对入门真的不太友好
偏向阅读书籍的话,如果有其他编程语言的基础,那么可以过一遍 C++之父的 A Tour of C++(中文版叫《 C++之旅》),时间足够的话还可以看看他的 The C++ Programming Language (中文版叫做《 C++程序设计语言》,电商平台查找时注意看作者栏,同名书籍过多)
更推荐的是楼上提供的 learncpp 网站,内容新得多
是的,学 C++看书没啥用,原因是 C++作为较为底层的语言对更底层抽象得并不好,它把这些底层问题都抛给开发者。学会基础语法 crud 很简单,但是如果你需要接触一些特性就会发现各种书、文档、教程都在若无其事地引入底层细节,这就是底层抽象不好的体现。
我学 C++用的 C++ Primer ,现在回头看来一是效率低下,二是讲的很浅,三是现在 C++ 11 已经过时了。
如果你计算机基础不行,而且非学 C++不可,那最好是找个国外公开课刷 lab 把计算机基础补了,主要是操作系统。一般这种课用的是纯 C ,理解纯 C 写法后再看 C++相关特性就会理解为什么这么设计。
如果你本身有计算机基础,直接去网上搜 C++的编程约定,按最佳实践来写。不要沉溺于某个特性,它可能毫无作用,可能在以后的标准中被替代,最重要的是你的同事看不懂。
最后 C++的现状挺尬的,岗位只把它当成工具,有价值的是具体的业务,也就是其实学点基础语法就能干了,显得 C++那些特性很多余。这种现状会让你感觉很割裂,上班写的是 for 嵌套,论坛却在讨论 concept 。
Primer Plus 我觉得作为入门书挺可以了。Primer 是一章把所有 C++基础特性讲完,第二章开始就开始讲各种 c++11 标准相关的。C++这门语言历史太长各种杂七杂八特性和历史遗留问题太多,楼主不需要太心急。
为什么不去图书馆借,图书馆老多了
C++ Primer Plus 是可以作为编程零基础的人学的,C++ Primer 是给有编程经验的人看的。
有编程经验的话, 可以看 a tour of cpp 及 cs106L
主要介绍了 modern cpp (cpp11+
大部分书籍都需要你有基本的知识,别听他们胡扯。。
确实被坑了,拿 C++ Primer Plus 入门有点太中式高等教育了的感觉了,虽然我也没有能推荐的更好的书
谢谢大家回复。我并非没有编程经验,C 语言很久前学过,忘光了,Java, Python, Ruby, Js 都有熟悉过,有的还做过项目。我的直属 Leader 希望部门成员每年学习一门新语言,我选了 C++。公司也有 C++项目,只是我没接触过。
C++有难度,想挑战一下。也有部分人选择学习 Rust 。公司氛围非常友好,开发也不紧张,每周有半天时间让大家自由学习。
Plus 扯什么 FORTRAN, BASIC 之类的语言,然后把 C 混合进来讲,显得作者要么是卖弄,要么就不是给学编程的人看的。
看楼上的指教,learncpp 网站、A Tour of C++、The C++ Programming Language 、cs106L ,值得参考。
我觉得直接看 cppreference.com 就好了啊
老板让做这个需求,但是个人对应用的场景比较疑惑? 预期是在 K8S 上,将卡根据算力和显存维度划分,分给不同的租户。 现在的大模型随随便便吃几十个 G 的显存,做推理时会考虑用…
因为能集中注意力写代码的时间,状态好的时候就 4 个小时,状态不好连 2 个小时都没有 那你真替你老板着想 那应该 25 小时? 对的,所以怎么也要每天工作 12 个小时…
发现 nas 硬盘一直响。发现系统内置了一个 MySQL 。 imgse.com/i/pPgEC79 这玩意直接刷 unraid 不好吗? 感觉。。。还是挺合理的。总不能…