学习 C/C++ 到底应该看哪些书或者视频?

2023-05-16

  • Hello,大家好,我是 Eg。
  • 初学 C/C++,不知道该看哪些书籍?学长说郝斌的视频好,学姐又说谭浩强的书好,大学老师却说把教材中的内容吃透就行。
  • 那到底谁说的是真的呢?
  • 今天我就以一个过来人的经验告诉你,不管是学长说的,学姐说的,还是大学老师说的,通通和他们说 NO!
  • 先来说说为什么要拒绝学长学姐和大学老师的推荐。
    • 不管是学长还是学姐,他们都是没有实战经验,到了企业,用到的知识完全不止他们口中的那点。你可能会说我的学长学姐多么多么的牛逼,是实验室的领头人,是学校的三好学生,编程课程满分通过等等。但是你别忘了,他们依然是没有跨出校园的大学生,没有企业级项目经验,企业需要什么样的人才,他们完全不知道。
    • 项目大了该怎么组织代码结构,使用什么框架,使用什么设计模式,有哪些开源库可以为我所用,该怎么做好版本控制等等,这些都很难有学长学姐知道该怎么做。你还能指望他们给你什么样的建议呢?
    • 大学老师一般也只会教你教材中的内容,应付期末考试,他们的目标就是挂科率减少,你难道也要指望他们给你实战经验上的指导吗?
    • 当然上面我说的是绝大数情况,因为也有确实很牛逼的学长学姐,可能别人初高中就在编程了,人家确实是有经验的,打过比赛,拿过奖,自己开发过大型软件。也有大学老师是企业里做得很牛逼了再去大学任教的。
    • 所以,如果你的身边有这样牛逼的学长学姐和老师,那就请和他们搞好关系吧,有他们的指导,你将收益终身。
  • 再来说说学长学姐普遍流传的建议吧。
    • 郝斌的视频确实讲的不错,但是那已经是 vc++ 6.0 时代的产物了,现在真的不适合再用它入门了,因为视频中的编译器可能都没有官网可下载了。
    • 谭浩强的书写得烂是公认的,但是学术自由,我们没有必要纠结于此。我们应该纠结的是为什么这么烂的书却在大学里面如此的盛行?
    • 一方面是历任学长学姐口口相传,另一个原因是很多大学教材就是用的这本书啊,大学老师已经习惯了照本宣科,习惯了自己的第一版课件,为了省事儿,他们瞒着所有学生,在市面上有至少有 10 本以上优秀 C/C++ 教材的情况下依然选择了谭浩强的书。
    • 讲到这里,我不禁陷入了沉思,如果当初...,不,没有如果,只有心酸。

书籍或者视频推荐

  • 那你可能会问了,到底该看哪些书或者视频呢?不要急,等我慢慢道来。

入门篇:

  • 《C++新经典》
  • 《C程序设计语言(原书第2版·新版 典藏版)》
  • 《C++程序设计语言(第1-3部分)(原书第4版)》
  • 《C++程序设计语言(第4部分:标准库)(原书第4版)》

入门级别的书籍上面这四本足以,学完之后就能够到企业实习岗位任职了。

《C++新经典》的作者有十几年的一线开发经验,这本书其实也因为他的一套视频教程口碑很好,所以才写成书的。本书先讲 C 语言,接着讲 C++ 语言,循序渐进,条理清晰,通俗易懂,是初学者的不二之选。

《C程序设计语言(原书第2版·新版 典藏版)》的两个作者都是贝尔实验室的高级研究人员,他们的书更能从一个语言设计者的角度来阐述,所以表达会相对晦涩,但是能让你对语言本身有更深入的了解,是必学教材。

《C++程序设计语言》是 C++之父的作品,分为四个部分讲解,共两册,前三部分一册,第四部分单独一册。

进阶篇:

  • 《UNIX环境高级编程 第3版(异步图书出品)》
  • 《UNIX网络编程 卷1 套接字联网API 第3版(异步图书出品)》
  • 《UNIX网络编程 卷2 进程间通信 第2版(异步图书出品)》

以上三本是 Linux 环境编程的经典著作,《UNIX环境高级编程》也就是传说中的 APUE,如果学习 Linux 开发,不知道这三本书或者没有看过这三本书,那可以说你不懂 Linux。

这三本书适合当作工具书使用,如果有时间也可以通篇看。

  • 《TCP/IP详解 卷1:协议(原书第2版)》

如果要从事网络相关的编程,那这本书也是必看的,可以当作工具书使用,当然有时间还是建议通篇看。

高级篇:

  • 《C和指针》
  • 《C专家编程(异步图书出品)》
  • 《C 陷阱与缺陷(异步图书出品)》

以上三本是高级 C 语言部分,是非常非常经典的书籍,有条件一定要看。

  • 《Effective C++:改善程序与设计的55个具体做法(第3版 中文版)》
  • 《More Effective C++:35个改善编程与设计的有效方法(中文版)》
  • 《Effective STL中文版:50条有效使用STL的经验》
  • 《Effective Modern C++(中文版)》

以上四本书是对 C++ 深度探究的经典书籍,是作者从事 C++ 开发的宝贵经验的提炼。

  • 《深度探索C++对象模型》
  • 《C++新经典:对象模型》

以上两本是 C++ 对象模型的探究,学习上面两本书可以深入到 C++ 语言的设计精髓。

  • 《设计模式:可复用面向对象软件的基础(典藏版)》

这本书是设计模式的经典书籍,当设计复杂程序的时候一定要使用适当的设计模式,这样能事半功倍。

总结

好了,以上是我推荐的 C/C++ 学习时的经典书籍,从简单到难,至于视频教程就不在这里推荐了,如果有需要可以留言与我讨论。

如果你觉得还有更经典的书籍或者视频教材,也欢迎留言与我讨论。

以上所有书籍也有 pdf 版本,因为版权原因,不方便放出,有疑问可以私信我。

我是 Eg,我们下期再见!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习 C/C++ 到底应该看哪些书或者视频? 的相关文章

  • 4-26获取请求体数据 只有post方式时有

    注意这里保险点就是action写全路径就不用管别的了 注意一个问题 html中表单的action 这里的action中只写了 demo08 注意要跟运行的编辑配置中对应 如果划线地方只有 http localhost 80 则action应
  • 数据库作业八—嵌套查询、EXISTS、集合查询、基于派生表的查询

    嵌套查询 接着上一篇说 带有EXISTS谓词的查询 EXISTS 存在 带有EXISTS 谓词的子查询不返回任何数据 xff0c 只产生逻辑真值 true 或逻辑假值 false 如果返回true xff0c 主查询会执行 xff0c 返回
  • jupyter安装了tensorflow后一直报错No module named PIL

    以jupyter为例 xff0c 装了anaconda 明明运行pip install Pillow xff0c 显示了已经装载了 xff0c 但是就是找不到PIL包 解决办法就是 xff0c 这个包其实安装在base环境下 xff0c 你
  • makefile中的“立即展开”与“延后展开”

    GUN make的执行过程分为两个阶段 第一阶段 xff1a 读取所有的makefile文件 xff08 包括 MAKEFILES 变量指定的 指示符 include 指定的 以及命令行选项 f xff08 file xff09 指定的ma
  • 接口自动化之持续集成【Jenkins配置--Python+Pytest+Jenkins+Allure】

    前置条件 xff1a 接口自动化测试框架用的是Python 43 Pytest 43 Requests xff1b 本文Jenkins部署在本地电脑 xff08 实际应在服务器 xff0c 当然配置步骤一致 xff09 xff0c 本地部署
  • 【Django】Model query转换成Dataframe时,如何减少50%的内存消耗

    通常我们在Django framework里去取DB数据做处理时 xff0c 会用values 这个function xff0c 然后直接转换成dataframe 假设需要取整个table的数据 xff0c 简单粗暴的写法如下 xff1a
  • 使用pypi-server创建私有pip源

    为了让内网使用pip下载安装 需要在内网中创建pip源 类似离线仓库 使用pypiserver可以指定离线仓库目录 xff0c 将安装包放到离线仓库目录即可 xff0c 只要有人上传一次后 xff0c 其他人需要该模块 xff0c 就不用再
  • UBUNTU下QT开发应用程序常见错误及其解决办法

    错误 xff1a helloworld直接报错 1 error cannot find lGL 原因 xff1a 缺少GL库 解决办法 xff1a sudo apt get install libgl1 mesa dev 我下载 了最新的q
  • 1488:新的开始

    题目描述 发展采矿业当然首先得有矿井 xff0c 小 FF 花了上次探险获得的千分之一的财富请人在岛上挖了 n 口矿井 xff0c 但他似乎忘记考虑的矿井供电问题 为了保证电力的供应 xff0c 小 FF 想到了两种办法 xff1a 在这一
  • 解决:使用 Vue 3 Script Setup 时 ESLint 报错 ‘defineProps‘ is not defined

    解决 xff1a 使用 Vue 3 Script Setup 时 ESLint 报错 defineProps is not defined Vue 3 的 Script Setup 语法引入了 defineProps defineEmits
  • Wek6 A - Tree diameter

    问题描述 xff1a 实验室里原先有一台电脑 编号为1 xff0c 最近氪金带师咕咕东又为实验室购置了N 1台电脑 xff0c 编号为2到N 每台电脑都用网线连接到一台先前安装的电脑上 但是咕咕东担心网速太慢 xff0c 他希望知道第i台电
  • CSCSWek12 B-Happy 消消乐

    题目描述 Q老师是个很老实的老师 xff0c 最近在积极准备考研 Q老师平时只喜欢用Linux系统 xff0c 所以Q老师的电脑上没什么娱乐的游戏 xff0c 所以Q老师平时除了玩Linux上的赛车游戏SuperTuxKart之外 xff0
  • ubuntu中各个文件夹的作用

    Ubuntu的根目录的文件夹各个含义 home xff1a 家目录 xff0c 所有普通用户都有一个以自己名字命名的文件夹存放在这个目录中 普通用户登录ubuntu默认进入的就是家目录中自己的文件夹 xff0c 可用pwd命令查看 xff0
  • 【CUDA】Ubuntu系统如何安装CUDA保姆级教程(2022年最新)

    本期目录 Linux安装CUDA Linux安装CUDA 输入以下命令 xff0c 查看 GPU 支持的最高 CUDA 版本 笔者这里显示的是 11 6 xff0c 这意味着 xff0c 安装的 CUDA 版本必须 lt 61 11 6 n
  • AVI视频格式分析-封装格式

    AVI视频封装格式分析 使用的工具RIFF块CHUNK块LIST块hdrl LISTavih CHUNKstrl LISTstrh CHUNKstrf CHUNK JUNK CHUNKmovi LISTidx1 CHUNK 使用的工具 el
  • 2014.10.10

    1 主要是制作了suse镜像 xff0c 但是还存在很多问题 xff0c 没有加上默认网关 xff0c 我很不开心 xff0c 根目录没有扩展 2 了解了下 boot from image 通过glance上传一个镜像 xff0c 然后通过
  • 2014.10.11

    我只想骂csdn xff01 截图直接粘过来居然不能直接显示出来 xff01 xff01 xff01 妈蛋 xff01 xff01 1 suse镜像制作完善 xff0c 根目录未扩展这是个大问题 xff0c 默认网关没加上 所谓的根目录扩展
  • 2014.10.12

    早晨8点就起了 xff0c 然后匆匆奔向wx xff0c 为了思念的人 xff0c 吃了个中午饭 xff0c 感觉还不错 xff0c 下午回来之后又去了wpj xff0c 胡扯一通 xff0c 而且发现现在家里人的注意力完全放在我的情感生活
  • vmware 下安装 red hat 9,dos 以及wmware tools

    1 安装vmware vmware 版本 7 11 282343 英文原版下载 xff1a http dl sh ctc 2 pchome net 03 lt VMware workstation full 7 1 1 282343 rar
  • 关于上财陈畅的俄罗斯方块的学习

    最近同学学习C xff0c 想做一个大练习 xff0c 于是选择了俄罗斯方块 xff0c 我 xff0c 计算机专业在校学生 xff0c 说实话理论还行 xff0c 实践动手能力很差 xff0c 同学让我先做 xff0c 然后给他讲讲怎样一

随机推荐