"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 ...
随机推荐
- dropna()函数
参数: axis: default 0指行,1为列 how: {‘any’, ‘all’}, default ‘any’指带缺失值的所有行;'all’指清除全是缺失值的 thr ...
- UI自动化之三种等待
UI自动化中常用三种等待 目录 1.强制等待 2.隐式等待 3.显示等待 1.强制等待 执行到某一条语句后,然后sleep(3),等待3秒后,才会继续执行后面的语句 2.隐式等待 隐式等待只需要声明一 ...
- Caffe参数交换源码分析
对境准备:对于多个GPU而言,一台机器2个GPU,参数交换的流程图: 参数交换从main()进入train()函数,在train函数中找到对应源码为: . . . . . ) { caffe::P2P ...
- TensorFlow学习笔记13-循环、递归神经网络
循环神经网络(RNN) 卷积网络专门处理网格化的数据,而循环网络专门处理序列化的数据. 一般的神经网络结构为: 一般的神经网络结构的前提假设是:元素之间是相互独立的,输入.输出都是独立的. 现实世界中 ...
- debian下重装mysql
mysql总是报错,说sock文件不存在,网上若干方法,更改权限,更改配置文件,结果还是不能正常生成.sock文件.没办法,删除,重新安装. 完全删除: 删除 mysqlsudo apt-get au ...
- vue通信之子父组件通信
子父组件通信: 创建一个父组件 Home , 创建一个子组件 Head Home 组件: import Head from "./Head.vue" // 引入 Head 组件 c ...
- css:设置div边框透明+渐变
写作背景: 觅兼职--登陆页面,UI给的原型图很漂亮,其中有一个图要求div外面有一圈透明度为0.37且带有渐变的边框.效果图如下: 在写的时候遇到了一点小小的问题:无法给同一个div设置圆角的透明+ ...
- python控制流-提前结束进程
一.sys.exit() 调用 sys.exit()函数,可以让程序终止或退出. 这个函 数在 sys 模块中,必须先导入 sys,才能使用它: #!/usr/bin/env python #codi ...
- CentOS7 redhat7 linux系统1分钟安装Zabbix web 监控 服务器
一.准备工作OS:centos7.4Zabbix version:3.4.6(2018/1/15日上线的新版本)Database:MariaDB关闭防火墙:systemctl stop firewal ...
- SpringMvc+Mybatis开发需要的jar包
SpringMvc+Mybatis开发需要的jar包