CC++学习路线(系统的学习路线
随着互联⽹及互联⽹+深⼊蓬勃的发展,经过40余年的时间洗礼,C/C++俨然已成为⼀门贵族语⾔,出⾊的性能使之成为⾼级语⾔中的性能王者。⽽在今天,它⼜扮演着什么样重要的⾓⾊呢?请往下看:
后端服务器,移动互联⽹后端,经典Windows界⾯开发,移动互联⽹端界⾯开发,跨平台界⾯开发,图形分析,系统架构,应⽤设计,还有现在最为流⾏的分布架构等⼀些新的技术领域。
这么⽜的语⾔,你是不是想知道怎样学习和掌握它呢?接下来请看经过⼩编整理过C/C++⼯程师必备知识的思维导图。
初学者看到这么密集的知识点,是不是有点眼晕呢?的确,C/C++是⼀门知识⾯覆盖很⼴的学科。想学好C/C++的你并不需要慌张,内容虽多,但依然有法可依。只要有⾜够的耐⼼和毅⼒,加上正确的学习⽅法,就不怕你学不好C/C++。
既然如此,C/C++开发到底需要学些什么呢,⼜应该怎么学呢?接下来由⿊马程序员C/C++学院教你如何从零基础学习C/C++开发,快速进⼊⽜⼈之列,掌握这门贵族语⾔。
⼀、初级⼊门阶段
在⼊门之初,⾸先要做的是通过C/C++语⾔的学习培养编程思维和动⼿能⼒,深刻理解⾯向过程和⾯向对象的思想⽅法。这个阶段你需要学习:
① C语⾔
数据类型、变量、内存布局、指针基础;
字符串、⼀维数组、⼆维数组;
⼀级指针,⼆级指针,三级指针,N级指针概念,指针数组和数组指针;
结构体、⽂件的使⽤;
动态库的封装和设计;
函数指针回调函数。
② C++语⾔
⾯向对象编程思想;
类的封装,构造和析构、静态成员、对象管理;
类的构造(有参构造函数、⽆参构造、拷贝构造、默认构造函数)和析构;
对象动态管理、友元函数、友元类、操作符重载;
C++编译器对象管理模型分析;
类对象的动态管理(new/delete);
友元函数和友元类;
运算符重载(⼀元运算符、⼆元运算符、运算符重载难点、项⽬开发中的运算符重载);
类的继承、多继承及其⼆义性、虚继承;
多态(概念、意义、原理剖析、多态案例);
虚函数、纯虚函数、抽象类(⾯向抽象类编程思想案例);
函数模板、类模板,模板的继承;
C++类型转换;
C++输⼊输出流(标准I/O ⽂件I/O 字符流I/O);
C++异常处理(异常机制、异常类型、异常变量、异常层次结构、标准异常库);
③ 常见常⽤的IDE开发⼯具
诸如Windows平台VC系列:VC++6.0(⽐较古⽼) ;Visual Studio2013, Visual Studio2015;Mac平台的XCode系列,还有CodeBlock,另附⼀些⾼级编辑器Notepad++, EditPlus,UE等⼀些开发⼯具的常⽤设置和⼀些常见快捷键的使⽤。
此阶段的学习难度系数不⼤,掌握这些内容之后,可以做些简单的⼩项⽬。当然了如果你想⽤这些技能⼯作的话确实是⽐较困难的。这时你还应该在加把劲进⼀步学习第⼆阶段。
⼆、C/C++开发进阶
这⼀阶段的⽬标才是达到C/C++软件⼯程师开发⾏业的基本要求,这个阶段是我们⾛向C/C++开发的进阶之路,更是⼀个让⾃⼰份薪⽔⽐较体⾯的⼯作的筹码。
如果在此部分遇到不懂的或者没有见过的知识点和名词,可先将本⽂收藏,供以后细细研读。
那么这个阶段,我们⼜应该掌握什么呢,继续往下看:
① C++进阶之STL
STL = Standard Template Library,即标准模板库。这是提⾼开发效率的极品⼯具。通过学习此阶段,应掌握泛型编程技巧,理解容器类在C++语⾔中的应⽤模式,以及熟练掌握全部STL类的使⽤⽅法。
② C++进阶之设计模式
决定⼀个项⽬成败最重要的因素是项⽬总体的设计,通过本阶段的学习,可掌握⾯向对象编程中重要的⼀环,是编码前建模的技巧所在。单例模式;⼯⼚模式;代理模式;迭代模式等,这些都是你要掌握的哦。
③ C++进阶之数据结构基础
这是所有编程语⾔中最应该学习的部分,程序组成的基础之⼀。
顺序存储、链式存储、循环链表;
双向链表、栈(顺序和链式)、队列(顺序和链式);
栈的应⽤、树基本概念及遍历、⼆叉树;
排序算法、并归算法、选择、插⼊、快速、希尔。
以上这些内容你知道吗?
④ C++进阶之UI界⾯开发
掌握QT类库构架,图形界⾯开发模型;
c编程网站掌握QT开发技巧,消息机制,图形处理;
掌握QT⽹络编程,UDP,TCP使⽤⽅式;
掌握QT⽂件处理⽅式,序列化;
掌握QT在windows,linux,ios,android不同平台下的移植技术。
⑤ C++进阶之Unix/Linux⽹络服务器
掌握Unix/Linux平台开发⽅式;
熟练使⽤系统调⽤;
熟练Unix/Linux内存管理,进程,线程调度;
熟悉⽹络服务器开发⽅式,熟练编写TCP,UCP⽹络服务程序;
掌握同步/异步IO模型在⽹络编程中的使⽤⽅式。
⑥ C++进阶之数据库开发
掌握SQL语⾔的实⽤技巧。Oracle,MySQL数据库的使⽤⽅式。
如果你能熟练掌握以上列出的技能,具备解决复杂问题和技术难点的能⼒,⽽且你能独⽴开发⼀些⽐较复杂的功能模块,那么很荣幸地告诉你,你已经达到中级⽔平,薪资过万对你来说简直是⼩菜⼀碟。
三、C++开发⾼级
读到此处的你,相信你有更⾼的⽬标。即是当下炙⼿可热的全栈开发⼯程师,既晓前端,⼜通后台。快速定位问题,解决问题对他们来说已是⼩菜⼀碟,就是⼈们常说的神秘⼤⽜,只在公司技术攻关的时候才会才看到他们的⾝影。
①此阶段软件开发⼯作所需的知识和技能相对较难,⾼级软件⼯程师编码熟练度和规范性需要达到⼀定要求;
②具备⼀定的项⽬能⼒(包括调试能⼒、⽂档编写能⼒、测试能⼒等)和综合技术素质(包括对软件⽣命周期的理解、对设计模式的理解、必备的⾏业知识和经验等);.
③了解主流的后台技术和前后端协作⽅式,能从全局⾓度理解项⽬的整个⽣命周期。
如果你能熟练掌握以上三个阶段的知识技能,那么你就可以满⾜C++开发⾏业的⾼级需求。
⿊马程序员C/C++学院:倾⼒打造永不过时的全栈型C/C++应⽤开发⼯程师
想要系统的学习,可以在⽹上⼀些电⼦书、或在线学习⽹站如
python官⽹中⽂⼊门教程
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论