【经验分享】带你强势了解C/C++登峰造极是什么程度,如何抵达这种程度呢?斗宗强

经验分享 应该学习什么东西
1、技术能力
1.语言
从语言开始学起(选好一本书)《C++Primer》:
特点:内容丰富,知识的讲解不仅仅停留在表面。
2、GUI
C++方面的GUI库有很多种,
MFC WTL wxWidgets QT 这些GUI库都有自己的特点,但只要了解一种即可,只要深入了解了一种GUI库,其他的需要的时候在学习。
3、数据结构和算法
不要忽视数据结构和算法方面的知识,
想让我们的程序跑的更快,内存占用更少的时候,这些知识就非常非常的重要了
《数据结构(C语言版)》
在学习数据结构和算法时,最好不要去关心面向对象方面的技巧,就用C语言来实现,这样能更关注于算法本身的内容
4、数据库
学习数据库的基础知识,并且掌握一种数据库使用,推荐使用mysql,而且最好不要用一些封装号的接口,而应该直接用mysql提供的数据库api,可能对数据库了解的会更深入
5、并行
cup主频已经不能遵循摩尔定律了。现在CPU发展的趋势时多核心,
多线程和多进程都是为了更好的利用CPU的性能,提供更好的用户体验。要写出高效的应用程序,必然要涉及到并行计算。
6、网络编程
这里指的时socket编程,C++的应用很多都是在做服务器开发,(如何开发一个高并发大吞吐量,高稳定性的服务器)
7、库的使用
C++标准库仅仅提供了一些很基本的功能,所以我们经常会引入一些第三方库,比如著名的boost库
(被称为准标准库)
boost库提供了我们编程中用到的各方面的技术、文本处理、算法、网络、多线程、图像处理等等
8、操作系统的知识
高手时需要深入了解操作系统的方方面面,而不是停留在使用层面。
Windows看《Windows核心编程》
Linux的去看《深入了解Linux内核》
二、项目经验
精通上面固然重要,但对程序来说,项目经验更加重要。一个好的项目可以让你把各种技术进行综合运用,并且能学到一些新的知识
技术和项目的关系就是理论和实践的关系。
技术就是理论知识,最项目就是实践。
理论对实践有指导作用,实践能加深我们对理论的深入理解
三、沟通能力
沟通能力时一个高级程序员要具备的软实力。
这里的沟通能力时建立在技术基础之上的沟通能力。
不要说自己精通C,C++,