C++学习书籍整理

469 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

因为自己的做的东西比较底层,后来想转行上层开发。曾在java和c++之间犹豫了好久,最后下定决心把C++作为主攻语言。 C++目前的就业方向主要有Linux后台开发,游戏开发,嵌入式开发,qt。无论选择哪一个方向,编程和计算机基础(数据结构和算法设计、计算机组成原理、操作系统、计算机网络、设计模式)是必不可缺的。

一、C++语言基础

推荐书籍:

1.《C++ Primer(英文版)(第5版)》,这本书可以说是非常经典的一本书了,书中涵盖了C++中所有的语法,学习C++必读。第一遍可以粗略的看,第二遍的时候把书中的例子和课后习题都上机实践一遍。后续可以将其当做一本工具书用。

1155358906-1_u_47.jpg 补充:如果对C语言从来没接触过过或者没有编程基础,那么上面的C++ Primer看起来可能会比较吃力,它适合有编程基础的人看。所以如果是小白,推荐另外一本《C++Primer plus(第五版)中文版》。如果是想走嵌入式开发方向,嵌入式像做单片机,主要语言还是c,所以C语言这块肯定是逃不掉的,推荐《C Primer plus》,也是非常好的一本书。

2.《Effective C++:改善程序与设计的55个具体做法(中文版)》,这本书讲述了55个准则,学完C++ Primer之后只是会写程序,而无法写出又好看又安全的代码,这本书讲述的准则对日后的编程有着很大的帮助。

image.png

3.《STL源码剖析》,这本书详细地讲解了 STL 中一些数据结构中的源码以及设计理念,再看源码的过程中,对于c++的实现和结构会有一个更深层次的理解。同时借鉴这些源码有利于对编程水平的提高。

image.png

4.《深度探索 C++ 对象模型》  这本书讲的内容比较偏向于底层,如果没有计算机底层知识理解起来肯定会有些困难。在看完上面两本书之后,对c++肯定能非常熟练的运用了,有了基础之后再看这本书,加深对c++底层机制和原理的了解。。

image.png

计算机基础

1.数据结构与算法设计: 大学里面常用的教材是清华大学出版的 《数据结构(严蔚敏)》 里面的重点数据结构比如,链表、栈、队列、二叉树、图、查找算法、排序算法要了解。里面的算法例程一定要自己上机编程,不编程永远不知道自己错在哪。做完之后可以在 LeetCode 上刷题,可以一个专题一个专题刷,比如:贪心、动态规划、如果想进大厂,算法是一定会问的。

2.操作系统: 当然推荐豆瓣高分经典书籍 《深入理解计算机系统》 也就是CSAPP,这本书也非常的通俗易懂,学习完这本书,对内存管理、进程调度、磁盘管理就有了一定的认识。

3.Linux:推荐 《鸟哥的 Linux 私房菜(第四版)》 Linux C++开发要求能在Linux系统下进行C++编程,这本书很厚,讲的内容也很全面,而且对于从未了解过linux系统的新手也很友好。

4.计算机网络: 推荐 《计算机网络(第七版,谢希仁著)》 或者 《计算机网络--自顶向下方法》 ,两本书的内容都很多很全。

  1. 数据库: 推荐 《MySQL 必知必会》