"C++ Primer Plus" is WAY FUCKING BETTER than "C++ Primer" (For Beginners)!!!
再看到给初学C++的人推荐C++ Primer的我就要揍人了,真的!
被他妈这帮装逼犯给误导了,耽误了无数的功夫!
就是听这帮傻逼的谣言,说C++ Primer讲解更深入什么的,初学也应该啃这本书,老子买了本C++ Primer纸质书,电脑上也有英文电子版,花了好多精力,差不多关键章节啃了2/3,我自学能力算是很强的,但是看这本书会真的会被带歪!
看了带Plus的(C++ Primer Plus),嗯,感觉对了,看起来才真正的感觉到了踏踏实实的收获,并且能够自己动手写代码。
这里列举这本书的几个致命缺点,它的缺点恰好就是带Plus的那本书的优点:
- 太多太多的细枝末节。用一个朋友的话说,就是你这辈子可能都碰不到的细节问题,这本书讲的很多。就像个机器人一样平铺直叙,把所有细节统统铺出来,没有任何初学者最需要的“经验之谈”,没有告诉你哪些坑需要暂时绕过。要我说这本书更适合作为参考书,真的是在工作中遇到了奇葩的问题,再翻翻相关章节仔细研究比较好。但是作为学习用书就非常非常非常不合适,相信我,这是一个自学能力很强的人对你的忠告。而带Plus的这本书(C++ Primer Plus)就做的很好,看它的感觉就像一个行业高手在对你循循善诱,一步步把问题提出来,逐渐带你登堂入室,其间还能带你避开各种坑,让你以最高的效率掌握这门神器。
- 范例代码太少。不敲代码只看文字描述想学会一门语言根本不现实,但可惜这本书似乎就打算这么做。讲解章节中没有完整的范例,只有一些片段。 Plus这本书几乎每个小节一段完整代码,还有代码解析,用代码说明问题,用代码解决问题,而且难易程度适宜,学习的人可以跟着敲出来,敲的过程其实也是思考的过程,因为敲的过程常常可以先看一部分,剩下的自己先尝试去完成,例如只看函数原型,然后实现自己去根据描述的功能去尝试写。我有不少简单的章节就是直接看描述,然后自己把代码写出来,觉得完全没问题,简单瞄一下后面解析中重点提出来的点,就直接过了,学习的效率很高。
- 章节安排奇葩。第二章就讲解了顶层const和底层const,第七章刚接触类就讲了“返回*this的成员函数”,"友元","委托构造函数"....我作为一个不算很资深的程序员(但好歹也是公司程序主管)看的也是他娘的一口老血喷屏幕上!这他妈的什么安排?我不是说我看不懂,只是真的很扰乱学习思路和学习重点,就好比一个游戏第一关刚开始还没搞清楚基本操作呢,就给你一个boss虐你,你是不是想杀了这个游戏策划?
喷了这么多,肯定有大神看到了会认为我Too young too simple, 自己能力不行还喷C++ Primer,这充其量只能算一本入门书,进阶的和高阶的还有其他的例如xxx xxx 和 xxx,我对这种人只想说要毒害人请滚远点,我说的就是入门,而且入门C++ Primer很不适合,我们需要的是高效快速的入门,而不是跟一些细节纠缠,C++只是个工具,我是使用者,不是造工具的人,不需要像老学究一样研究细枝末节。
关于书的语言,能看英文尽量看英文,这两本书中文翻译普遍反应比较糟糕(我没看过plus的中文,不好评价,只能转述别人的评价)。C++primer 第五版的翻译个人感觉还过去的去,不算太遭,我是中英文混合着看的,在电脑前就看英文电子版,没开电脑就看纸质中文版。而Plus我只看了电子版的英文版,没花钱买书。
另外我也不是新手,虽然C++接触不多,但是其他程序语言还是熟悉一些的,也有几年的开发经验。这行装逼的人我见的太多了,就像一次面试一个号称把opengl宝典当枕头的人,结果连一个基础的blinn shader都写不出来。既然我看这本书都觉得很困难,我相信这本书对于其他初学c++的人也是个很糟糕的选择。各位如果是这个群体,建议C++ Primer Plus,好了,废话结束。
"C++ Primer Plus" is WAY FUCKING BETTER than "C++ Primer" (For Beginners)!!!的更多相关文章
- C++ Primer : 第九章 : vector变长、string的其他操作以及容器适配器
vector变长机制.string的其他构造方法,添加.替换和搜索操作,string比较和数值转换,最后是容器适配器. vector对象是如何增长的 vector和string类型提供了一些成员函数, ...
- c/c++ 函数、常量、指针和数组的关系梳理
压力才有动力,15年中旬就要准备实习,学习复习学习复习学习复习学习复习……无限循环中,好记性不如烂笔头……从数组开始,为主干. c 的array由一系列的类型相同的元素构成,数组声明包括数组元素个数和 ...
- 【SPOJ】Transposing is even more fun!
题意: 给出a.b 表示按先行后列的方式储存矩阵 现在要将其转置 可以交换两个点的位置 求最小操作次数 题解: 储存可以将其视为拉成一条链 设a=5.b=2 则在链上坐标用2^***(a,b)表示为( ...
- 【bzoj1300】大数计算器
题意: 求C(n,m) 如果C(n,m)的位数<=12 那么直接输出 否则按XXX...XXXXXXXXX的形式输出 题解: 这题之前打过 但是昨天又想出一种新的做法 先说下新的做法吧- - _ ...
- C 高级编程4 makefile 与 IO
make 与 makefile .目标的语法 目标名:依赖目标 @命令 @命令 make的命令行使用 make -f make 脚本文件 目标名 .目标的划分 demo.mk demo: gcc -c ...
- C语言介绍
以下东东转自百度百科 C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.它由美国贝尔实验室的Dennis M. Ritchie于1972年推出,1978年后,C语言已先后被 ...
- 收集整理的一些c++书籍(推荐)
Accelerated C++中文版 .pdf Beyond the C++ Standard Library(Boost)中文版.pdf Beyond the C++ Standard Librar ...
- R语言S3类的理解与构建
R语言类 R语言的类有S3类和S4类,S3类用的比较广,创建简单粗糙但是灵活,而S4类比较精细,具有跟C++一样严格的结构.这里我们主要讲S3类. S3类的结构 S3类内部是一个list,append ...
- string Type
Notes from C++ Primer Operations Operations of string support lots of operations of sequential conta ...
随机推荐
- TestNG 多线程测试
TestNG以注解的方式实现多线程测试 import org.testng.annotations.Test; public class TreadDemo { // invocationCount ...
- 搭建 Git 服务器(基于 CentOS 7)
服务器上的-Git-架设服务器-官网参考 对于规模比较小的团队,可以直接搭建 Git 服务器,逐个收集研发同学的证书配置进来即可.如果团队规模比较大,可以直接采用 GitLab.Drone 等现成的带 ...
- 什么是HIS、PACS、LIS、RIS
什么是HIS?医院信息系统的定义(HIS)医院信息系统(Hospital Information System,HIS)在国际学术界已公认为新兴的医学信息学(Medical Informatics)的 ...
- Intersection of Two Linked Lists(两个链表的第一个公共节点)
来源:https://leetcode.com/problems/intersection-of-two-linked-lists Write a program to find the node a ...
- SpringBoot(二) -- SpringBoot配置
一.配置文件 SpringBoot可以使用两种类型的配置文件(文件名固定): application.properties application.yml 配置文件的作用就是来修改SpringBoot ...
- vue 使用jssdk分享
背景 在vue中使用jssdk微信分享 weixin-js-sdk mint-ui需要安装npm install weixin-js-sdk mint-ui --save mixins/wechat. ...
- 问题 K: WaWa的难题
问题 K: WaWa的难题 时间限制: 1 Sec 内存限制: 128 MB提交: 570 解决: 125[提交] [状态] [命题人:jsu_admin] 题目描述 HaHa和WaWa是好朋友, ...
- free野指针问题
gdb backtrace内容如下: Program received signal SIGABRT, Aborted. (gdb) p cmd No symbol "cmd" i ...
- vi编辑器没有颜色的解决办法
Centos里的VI只默认安装了vim-minimal-7.x.所以无论是输入vi或者vim查看文件,syntax功能都无法正常启用.因此需要用yum安装另外两个组件:vim-common-7.x和v ...
- SSM商城系统开发笔记-问题01-通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明。
配置搭建完后进行Post请求测试时报错: Caused by: org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 29; cvc ...