"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 ...
随机推荐
- Week1 - 169.Majority Element
这周刚开始讲了一点Divide-and-Conquer的算法,于是这周的作业就选择在LeetCode上找分治法相关的题目来做. 169.Majority Element Given an array ...
- JDBC 国际标准时间
mysql.driver=com.mysql.cj.jdbc.Drivermysql.url=jdbc:mysql://localhost:3306/XXXX?characterEncoding=UT ...
- Vue Router:使用 props 将组件和路由解耦
在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性. 可以使用 props 将组件和路由解耦. 一 路由配置(布尔模式): impo ...
- 剑指offer--day03
1.1题目:斐波那契数列:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 1.2解题思路:斐波那契数列公式为: 这道题递归很好写 ...
- nginx-->基本使用
Nginx基本使用 一.下载 http://nginx.org/en/download.html 二.解压文件 在当前文件夹下通过终端就可以操作nginx nginx -v 三.配置详解 #use ...
- org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.NumberFormatException: For input string: "W%" ### Cause: java.lang.NumberFormatException: For input s
一个常见的myBatis xml文件中的引号错误: org.apache.ibatis.exceptions.PersistenceException: ### Error querying data ...
- CentOS6 破解登录密码
1.重启服务器,在倒数读秒的时候按任意键,就会出现如下界面 2.按e进入grub模式,选中kernel,然后按e进入内核编辑模式 3.进入内核编辑模式后,按空格+1回车(或按空格+single回车)退 ...
- C# http post请求帮助类
using System; using System.Collections.Specialized; using System.IO; using System.Net; using System. ...
- markdown简介及基本语法
一.前言 Markdown是一种轻量级标记语言,它以纯文本形式(易读.易写.易更改)编写文档,并最终以HTML格式发布. Markdown也可以理解为将以MARKDOWN语法编写的语言转换成HTML内 ...
- Math对象(min()-max()-ceil()-floor()-round()和abs())
1.Math.min() 功能:求一组数的最小值,返回值:Number 如果里面有非数字则返回NaN 2.Math.max() 功能:求一组数的最大值,返回值:Number 3.Math.ceil() ...