天天看点

C/C++学习路线(总体把握C/C++)

 忘了之前在哪看到的一篇文章了,文章名字是《黑马程序员:3分钟带你读懂c/c++学习路线》;今天翻看之前的文档记录,看到了它,声明:以下内容非原创

随着互联网及互联网+深入蓬勃的发展,经过40余年的时间洗礼,c/c++俨然已成为一门贵族语言,出色的性能使之成为高级语言中的性能王者。而在今天,它又扮演着什么样重要的角色呢?请往下看:

后端服务器,移动互联网后端,经典windows界面开发,移动互联网端界面开发,跨平台界面开发,图形分析,系统架构,应用设计,还有现在最为流行的分布架构等一些新的技术领域。

     这么牛的语言,你是不是想知道怎样学习和掌握它呢?接下来请看经过小编整理过c/c++工程师必备知识的思维导图。

C/C++学习路线(总体把握C/C++)

一、初级入门阶段

在入门之初,首先要做的是通过c/c++语言的学习培养编程思维和动手能力,深刻理解面向过程和面向对象的思想方法。这个阶段你需要学习:

① c语言

数据类型、变量、内存布局、指针基础;

字符串、一维数组、二维数组;

一级指针,二级指针,三级指针,n级指针概念,指针数组和数组指针;

结构体、文件的使用;

动态库的封装和设计;

      函数指针回调函数。 

② c++语言

面向对象编程思想;

类的封装,构造和析构、静态成员、对象管理;

类的构造(有参构造函数、无参构造、拷贝构造、默认构造函数)和析构;

对象动态管理、友元函数、友元类、操作符重载;

c++编译器对象管理模型分析;

类对象的动态管理(new/delete);

友元函数和友元类;

运算符重载(一元运算符、二元运算符、运算符重载难点、项目开发中的运算符重载);

类的继承、多继承及其二义性、虚继承;

多态(概念、意义、原理剖析、多态案例);

虚函数、纯虚函数、抽象类(面向抽象类编程思想案例);

函数模板、类模板,模板的继承;

c++类型转换;

c++输入输出流(标准i/o 文件i/o 字符流i/o);

c++异常处理(异常机制、异常类型、异常变量、异常层次结构、标准异常库);

二、c/c++开发进阶

这一阶段的目标才是达到c/c++软件工程师开发行业的基本要求,这个阶段是我们走向c/c++开发的进阶之路,更是一个让自己找份薪水比较体面的工作的筹码。

如果在此部分遇到不懂的或者没有见过的知识点和名词,可先将本文收藏,供以后细细研读。

①  c++进阶之stl

stl = standard template library,即标准模板库。这是提高开发效率的极品工具。通过学习此阶段,应掌握泛型编程技巧,理解容器类在c++语言中的应用模式,以及熟练掌握全部stl类的使用方法。

②  c++进阶之设计模式

决定一个项目成败最重要的因素是项目总体的设计,通过本阶段的学习,可掌握面向对象编程中重要的一环,是编码前建模的技巧所在。单例模式;工厂模式;代理模式;迭代模式等,这些都是你要掌握的哦。

③  c++进阶之数据结构基础

这是所有编程语言中最应该学习的部分,程序组成的基础之一。

顺序存储、链式存储、循环链表;

双向链表、栈(顺序和链式)、队列(顺序和链式);

栈的应用、树基本概念及遍历、二叉树;

排序算法、并归算法、选择、插入、快速、希尔。

④  c++进阶之ui界面开发

掌握qt类库构架,图形界面开发模型;

掌握qt开发技巧,消息机制,图形处理;

掌握qt网络编程,udp,tcp使用方式;

掌握qt文件处理方式,序列化;

掌握qt在windows,linux,ios,android不同平台下的移植技术。

⑤  c++进阶之unix/linux网络服务器

掌握unix/linux平台开发方式;

熟练使用系统调用;

熟练unix/linux内存管理,进程,线程调度;

熟悉网络服务器开发方式,熟练编写tcp,ucp网络服务程序;

掌握同步/异步io模型在网络编程中的使用方式。

⑥ c++进阶之数据库开发

掌握sql语言的实用技巧。oracle,mysql数据库的使用方式。

如果你能熟练掌握以上列出的技能,具备解决复杂问题和技术难点的能力,而且你能独立开发一些比较复杂的功能模块,那么很荣幸地告诉你,你已经达到中级水平,薪资过万对你来说简直是小菜一碟。

继续阅读