C++ Primer Notes(3): 哪些人可以看C++ Primer

devtools/2025/1/13 9:00:25/

在知乎搜索 “C++ Primer”,靠前的一个问答是 「C++ Primer 是每位C++ coder心中的圣经吗?」。 本篇挑选一些观点,予以批评。

错误观点1:此书没有一句讲程序怎么跑起来

书中没讲程序怎么跑起来, 怎么使用 IDE , 新手看到这本书可能第一步怎么运行代码都不知道。

在这里插入图片描述
在这里插入图片描述
作者在 preface 说的比较清晰了: 有编译型语言的学习经验,是理解本书的基本要求。C语言只是其中一种编译型语言,没学过C语言的话,有其他编译型语言基础也行的。其他编译型语言有哪些?来这里看看: https://zh.wikipedia.org/zh-cn/編譯語言

在这里插入图片描述
对于大部分人来说,其实preface这句话是烟雾弹。大部分人学习C语言是最容易的:资料太多了。 所以个人观点是:读本书的前提条件是,有C语言经验,知道怎么用编译器编译程序

错误观点2:后来看了 C++ primer plus,一下就入门了

在这里插入图片描述
同前面一个问题,仍然是不满足 preface 提到的 understand this book 的前提条件导致的。 C++ primer plus 本质上是 bottom-up 方式,或者说按 C++ 语言演化路线方式, 大篇幅讲述 C++ 中兼容 C 的写法的内容。如果需要看C++ Primer Plus,说明不满足C++ Primer的阅读前提

错误观点3: primer 发音是 /ˈprimər/

在这里插入图片描述
正确发音是 /ˈpɹaɪ.mə(ɹ)/ 或 /ˈpɹɪ.mɚ/
https://zh.wiktionary.org/zh-hans/primer

错误观点4:primer 不是 beginner

在这里插入图片描述
Primer 就是入门读物的意思。Primer最初用法,就是指代给儿童看的读物。

在这里插入图片描述
在这里插入图片描述

https://www.merriam-webster.com/dictionary/primer

错误观点5:C++ Primer 是词典

在这里插入图片描述
显然 cppreference 网站才是新华词典风格的东西, 是语言律师的日常读物,是遇到不会内容需要查询的常规圣经。

错误观点6: 堪比谭老师的:c语言程序设计

在这里插入图片描述
观点错误的地方在于,没有给出论据,仅仅使用了类比的说法。

在这里插入图片描述
在评论区一错再错,认为东西过时。 书里明确提出是C++11刚出来没几天的时候写下和出版了本书。

错误观点7:讲的太细,缺少实用主义

在这里插入图片描述
相反,讲的细才实用。第二章第一节讲到的 signed 和 unsigned 类型之间的转换, 以及在一个数学表达式中同时出现了 signed 和 unsigned 类型时会转换到 unsigned, 就这么两条简单的规则, 在实际工程中超过5年工作经验的老鸟仍然犯错,足以说明这本书内容的实用性了:

https://www.zhihu.com/question/3003273587/answer/76899585990

错误观点8: C++ Primer 错误很多

在这里插入图片描述
这位答主把 C++ Primer Plus的勘误作为 C++ Primer 的勘误。 这两本书没有直接关系,就像 javascript 和 java 那样。

错误观点9:随便找B站视频看就行,不用看C++ Primer

在这里插入图片描述
B站视频,那可是大海捞针。 与其看一名C++编译器作者的真知灼见形成的入门书,这位答主居然说看B站视频。即使是侯捷来了,也不必过Lippman啊。

错误观点10:泻药,没看过

在这里插入图片描述
没看过不需要抢答。


下面贴一些正确观点。来自第二个问题
为什么老师不推荐用《C++ Primer》作为教材?

正确观点1: 在真实项目中希望提升C++水平,C++ Primer适合作为入门书

在这里插入图片描述

正确观点2:没看懂C++的人,不会推荐你看 C++ Primer 入门

在这里插入图片描述

正确观点3:C++ Primer 适合有其他语言基础的人转过来学C++

在这里插入图片描述

结论:如果毫无编程经验那么不应该看C++ Primer; 如果是为了学校课程考试那也不应该主要看C++ Primer; 如果是以C++为工作主语言,并且已经掌握了C语言、基本的程序构建(编译+链接),打算系统的提升C++水平,适合看 《C++ Primer》。


http://www.ppmy.cn/devtools/150116.html

相关文章

HTTP/HTTPS ④-对称加密 || 非对称加密

这里是Themberfue ✨HTTP协议的大体内容我们已经讲完了 ❤️本章我们将聊聊HTTPS中的 S 那些事儿 HTTPS简介 ✨在前三篇文章中,我们主要讲解了HTTP协议的简单介绍以及其报文的键值对含义等。比较于HTTP,HTTPS有什么不同呢?它们两者又有什么…

【论文投稿】探索JavaScript前端开发:开启交互之门的神奇钥匙(一)

目录 一、引言 二、基础入门 2.1 变量与数据类型 2.2 条件与循环语句 2.3 函数 三、DOM操作 3.1 获取DOM元素 3.2 修改DOM内容和样式 3.3 动态创建和删除DOM元素 一、引言 在当今数字化时代,互联网已然成为人们生活不可或缺的一部分,而网页作为互…

【DevOps】Jenkins使用Pipline发布Web项目

使用Pipline发布Web项目 文章目录 使用Pipline发布Web项目资源列表基础环境一、准备Gitlab1.1、部署Gitlab1.2、创建demo项目1.3、提交代码 二、准备Jenkins三、准备Apache四、Jenkins的配置4.1、Jenkins配置SSH主机4.2、Jenkins配置gitlab的密码4.3、Jenkins创建demo项目4.4、…

Python操作Excel的库openpyxl使用入门

openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。以下是一些 openpyxl 的基本使用方法: 安装 openpyxl 首先,确保已经安装了 openpyxl。如果没有安装,可以使用以下命令进行安装: pip install openp…

【Spring Boot】Spring 事务探秘:核心机制与应用场景解析

前言 🌟🌟本期讲解关于spring 事务介绍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 🎆那么废话不多说直…

Redisson和可重入锁初认

文章目录 Redisson 简介Redisson 的主要特点Redisson 的核心模块Redisson的优势使用示例Maven 引入依赖配置 Redisson 客户端分布式锁使用示例 Redisson 使用场景总结 可重入锁关键特性为什么需要可重入锁可重入锁的实现方式可重入锁的实现原理可重入锁的优缺点优点缺点 可重入…

uni-app无限级树形组件简单实现

因为项目一些数据需要树形展示&#xff0c;但是官网组件没有。现在简单封装一个组件在app中使用&#xff0c;可以无线嵌套&#xff0c;展开&#xff0c;收缩&#xff0c;获取子节点数据等。 简单效果 组件TreeData <template><view class"tree"><te…

计算机图形学【着色技术】

Guard Shading 这是一种简单的着色技术&#xff0c;通常用于实时图形渲染中&#xff0c;以快速计算物体表面的明暗变化。它在顶点处计算光照&#xff0c;然后在三角形的顶点之间插值颜色。这种方法比Phong Shading计算量小&#xff0c;因为它不需要对每个像素计算法线。Gourau…