您现在的位置是:首页 > 正文

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

2024-02-01 02:13:56阅读 3
  • 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,我们下期再见!

网站文章

  • Java面试总结。多达十万字的面试内容总结 简直yyds

    Java面试总结。多达十万字的面试内容总结 简直yyds

    基础篇1、Java语言有哪些特点2、面向对象和面向过程的区别3、八种基本数据类型的大小,以及他们的封装类4、标识符的命名规则。5、instanceof关键字的作用6、Java自动装箱与拆箱7、重载和重...

    2024-02-01 02:13:48
  • 服务器设置进系统密码,服务器系统设置密码

    服务器设置进系统密码,服务器系统设置密码

    服务器系统设置密码 内容精选换一换登录Windows操作系统的弹性云服务器时,需使用密码方式登录。因此,用户需先根据创建弹性云服务器时使用的密钥文件,获取该弹性云服务器初始安装时系统生成的管理员密码(...

    2024-02-01 02:13:40
  • 本人用uniapp做微信公众号开发易错点整理

    本人用uniapp做微信公众号开发易错点整理

    wxUpdateAppMessageShareData和updateTimelineShareData,即自定义“分享给朋友”及“分享到QQ”按钮的分享内容和自定义“分享到朋友圈”及“分享到QQ空间”...

    2024-02-01 02:13:12
  • Golang框架Gin入门实战--(4)HTML模板渲染以及模板语法 自定义模板函数 静态文件服务(下)

    Golang框架Gin入门实战--(4)HTML模板渲染以及模板语法 自定义模板函数 静态文件服务(下)

    Golang框架Gin入门实战--(4)HTML模板渲染以及模板语法 自定义模板函数 静态文件服务(下)

    2024-02-01 02:13:03
  • 分布式服务框架

    本博客转自git项目advancejavadubbo 工作原理• 第一层:service 层,接口层,给服务提供者和消费者来实现的• 第二层:config 层,配置层,主要是对 dubbo 进行各种配置的• 第三层:proxy 层,服务代理层,无论是 consumer 还是 provider,dubbo 都会给你生成代理,代理之间进行网络通信• 第四层:registry 层,服务注册层,...

    2024-02-01 02:12:59
  • 2021美团校招(一)

    2021美团校招(一)

    小美的送花路线 输入描述 输出第一行包含一个正整数n,即花店和客户的总数。(1<=n<=30000) 接下来有n-1行,每行有三个整数u,v,w,表示在u和v之间存在一条距离为w的道路。(...

    2024-02-01 02:12:32
  • Ubuntu如何设置或删除swap虚拟内存

    Ubuntu如何设置或删除swap虚拟内存

    什么是swap? swap 简单的说就是将硬盘当内存用,用于解决内存容量不足的情况。 1、如何设置swap? 1、查看当前系统是否设置了swap 在终端输入以下命令查看是否设置了swap free -...

    2024-02-01 02:12:04
  • runoob.com python3教程结构提要

    原站地址:http://www.runoob.com/python3/python3-tutorial.html 本文目的: 1. 提供更深层次的资料查询目录; 2. 快速复习python的简单知识 一、基础语法 1.编码:Python 3 源码文件以UTF-8编码,所有字符串都是 unicode 字符串。 2.标识符: 2.1 第一个字符必须是字母表中字母或下划线_ 2.2...

    2024-02-01 02:11:55
  • Spring @Transactional 事务以及事务间调用完整解析,保你看完,反手就一个赞!

    Spring @Transactional 事务以及事务间调用完整解析,保你看完,反手就一个赞!

    事物注解方式: @Transactional当标于类前时, 标示类中所有方法都进行事物处理 , 例子:@Transactional public class TestServiceBean imple...

    2024-02-01 02:11:27
  • Git常用命令

    目录git initgit clonegit statusgit loggit addgit diffgit commitgit resetgit revertgit rmgit cleangit mvgit stashgit branchgit checkoutgit mergegit taggit remotegit fe...

    2024-02-01 02:11:20