两个月时间是根本不可能掌握C++的,别再天真了。

就在之前Springboard平台选出了最容易学习和最难学的编程语言Top 5,其中C++是第一难学的语言。

C++究竟难在哪里???

C++是C的扩展(而C被列入了容易学习的语言),C++是一种通用编程语言,据说谷歌Chromium浏览器、微软一些应用程序,甚至摩根士丹利的金融建模都是用C++完成。

Springboard认为C++很难学的理由总结如下:
  • C++具有复杂的语法以支持多功能性;
  • 它是一种包容性很强的语言,你可以做任何技术上可行的事情,即使逻辑上不正确;
  • 最好由已经具备C语言编程基础的人学习。

推荐教程:

C语言基础教程 源码+笔记+案例:

配套资料: https://pan.baidu/s/1h4zEmLIZ1dEBGkli1ZF_jQ
提取码:1234

 黑马程序员C语言基础教程【源码,笔记,软件,案例全,初学者最值得收藏】_哔哩哔哩_bilibili黑马程序员C语言基础教程【源码,笔记,软件,案例全,初学者最值得收藏】共计144条视频,包括:01课程介绍、02C语言介绍、03helloworld、04window中gcc编译程序、05system函数、06程序编译和执行过程、07程序链接库和CPU介绍、08汇编语言和程序调试、09IDE介绍、01总结、02变量和常量、03整形的定义和输出、04整形输入、05整形大小和取值范围、06字符型、07浮点型、08二进制和十进制转换、09八进制十六进制和十进制转换、10二进制八进制十六进制转换、11进制术语和小数存储方式、12数据存储方式、13有符号和无符号取值范围、14数据溢出、01总结、02类型限定、03格式化输入输出、04运算符上、05运算符下、06运算符优先级别、07类型转换、08if语句、09三只小猪称体重、10三目运算符、11switch语句、12while循环语句、13dowhile语句、14for语句、15嵌套循环、01总结、02跳转语句、03数组定义和使用、04数组定义和使用、05十只小猪称体重、06数组逆置、07冒泡排序、08二维数组、09学生成绩、10多维数组、11字符数组和字符串、12字符串获取、13字符串打印、14字符串长度、01总结、02随机数、03函数定义和使用、04函数样式、05函数的声明、06主函数和exit函数、07多文件编程、08指针定义和使用、09野指针和空指针、10万能指针、11const修饰的指针、01总结、02指针和数组、03指针运算、04指针数组、05多级指针、06值传递和地址传递、07数组名作为函数参数、08字符串去空格、09指针作为函数返回值、10字符串查找字符串、01_C语言实战07天(指针应用)、02指针和字符串、03字符指针作为函数参数、04const修饰的指针、05主函数参数、06字符串出现次数、07字符串去空格和统计字符个数、08字符串逆置、09字符串拷贝、10字符串追加、11字符串比较、12字符串格式化、13字符串查找、14字符串分割、15字符串类型转换、16总结、01总结、02局部变量和全局变量、03静态变量、04全局函数和静态函数、05数据存储位置、06内存模型、07内存分区概述、08堆空间开辟和释放、09堆空间存储数据、10内存处理函数、11内存常见问题、01总结、02二级指针对应的堆空间、03结构体定义和使用、04结构体排序和开辟堆空间存储结构体、05结构体嵌套结构体、06结构体赋值、07结构体和指针、08const修饰结构体指针、09联合体、10枚举、11typedef、01总结、02文件打开和关闭、03文件字符读写、04文件加密解密、05文件行读写、06四则运算上、07四则运算下、08文件格式化读写、09大数据排序、10文件块读写、01总结、02大文件拷贝、03文件随机读写、04删除重命名文件、05更新文件缓冲区、06快译通核心代码、07索引、01蛇的初始化、02蛇的核心代码、03贪吃蛇完善、01linux介绍、02文件系统、03文件管理命令上、04文件管理命令中、05文件管理命令下、06系统权限管理、07修改文件权限、08系统管理、09VI插入和保存、10VI删除和修改、11VI定位和查找、12VI替换和设置指令、13远程连接和服务器搭建等,UP主更多精彩视频,请关注UP账号。https://www.bilibili/video/BV1vs411n7TH?spm_id_from=333.999.0.0

 浙江大学C++推荐教程,零基础的先看上面的C语言课程,题主可直接看这个:

浙江大学 C++ 翁恺老师_哔哩哔哩_bilibili浙江大学 C++ 翁恺老师共计41条视频,包括:1 第1个C++程序、2 什么是面向对象、3 面向对象基本原理、4 自动售票机例子、5 头文件、6 时钟的例子、7 成员变量、8 成员变量的秘密、9 构造和析构、10 对象初始化、11 new&delete、12 访问限制、13 初始化列表、14 对象组合、15 继承、16 父类子类的关系、17 函数重载和默认参数(缺省参数值)、18 内联函数、19 const、20 不可修饰的对象、21 引用、22 向上造型、23 多态性、24 多态的实现、25 引用再研究、26 拷贝构造I、27.拷贝构造Ⅱ、28 静态对象、29 静态成员、30 运算符重载-基本规则、31 运算符重载-原型、32 运算符重载-赋值、33 运算符重载-类型转换、34 模板I、35 模板II、36 异常基本概念、37 异常抛出和捕获、38 异常语句、39 流的概念、40 流的运算符、41 STL简述等,UP主更多精彩视频,请关注UP账号。https://www.bilibili/video/BV1dE41167hJ?from=search&seid=9286648088232113568

以及这个:

黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难共计314条视频,包括:01 课程安排、02 第一个C++程序-C++书写HelloWorld、03 程序的注释-单行注释和多行注释、04 变量-变量的使用-变量的意义、05 常量-常量与变量的区别-常量的使用、06 关键字-C++常用的编程关键字、07 标识符命名规则、08 数据类型-整型、09 数据类型-sizeof关键字、10 数据类型-实型、11 数据类型-字符型、12 数据类型-转义字符、13 数据类型-字符串类型、14 数据类型-布尔类型、15 数据类型-数据的输入、16 运算符-算术运算符-加减乘除运算、17 运算符-算术运算符-取模运算、18 运算符-算术运算符-递增递减、19 运算符-赋值运算符、20 运算符-比较运算符、21 运算符-逻辑运算符-非、22 运算符-逻辑运算符-与、23 运算符-逻辑运算符-或、24 程序流程结构-选择结构-单行if语句、25 程序流程结构-选择结构-多行if语句、26 程序流程结构-选择结构-多条件if语句、27 程序流程结构-选择结构-嵌套if语句、28 程序流程结构-选择结构案例-三只小猪称体重、29 程序流程结构-选择结构案例-三目运算符、30 程序流程结构-选择结构-switch语句、31 程序流程结构-循环结构-while语句、32 程序流程结构-循环结构案例-猜数字、33 程序流程结构-循环结构-dowhile语句、34 程序流程结构-循环结构案例-水仙花数、35 程序流程结构-循环结构-for循环、36 程序流程结构-循环结构案例-敲桌子、37 程序流程结构-嵌套循环、38 程序流程结构-嵌套循环案例-乘法口诀表、39 程序流程结构-跳转语句-break语句、40 程序流程结构-跳转语句-continue、41 程序流程结构-跳转语句-goto、42 数组-一维数组定义方式、43 数组-一维数组-数组名、44 数组-一维数组案例-五只小猪称体重、45 数组-一维数组案例-元素逆置、46 数组-一维数组-冒泡排序、47 数组-二维数组定义方式、48 数组-二维数组-数组名、49 数组-二维数组案例-考试成绩统计、50 函数-函数的定义、51 函数-函数的调用、52 函数-值传递、53 函数-常见的样式、54 函数-函数的声明、55 函数-函数的分文件编写、56 指针-指针的定义和使用、57 指针-指针所占内存空间、58 指针-空指针、59 指针-野指针、60 指针-const修饰指针、61 指针-指针和数组、62 指针-指针和函数、63 指针-指针配合数组和函数案例、64 结构体-结构体定义和使用、65 结构体-结构体数组、66 结构体-结构体指针、67 结构体-结构体嵌套结构体、68 结构体-结构体做函数参数、69 结构体-结构体中const使用场景、70 结构体-结构体案例1、71 结构体-结构体案例2、01 通讯录管理系统-系统功能介绍及展示、02 通讯录管理系统-创建项目、03 通讯录管理系统-菜单功能、04 通讯录管理系统-退出功能实现、05 通讯录管理系统-添加联系人-结构体设计、06 通讯录管理系统-添加联系人-功能实现、07 通讯录管理系统-显示联系人、08 通讯录管理系统-删除联系人-检测联系人是否存在、09 通讯录管理系统-删除联系人-功能实现、10 通讯录管理系统-查找联系人、11 通讯录管理系统-修改联系人、12 通讯录管理系统-清空通讯录、01 程序的内存模型-内存四区-代码区.、02 程序的内存模型-内存四区-全局区、03 程序的内存模型-内存四区-栈区、04 程序的内存模型-内存四区-堆区、05 程序的内存模型-new运算符、06 C++中的引用-引用的基本语法、07 C++中的引用-引用的注意事项、08 C++中的引用-引用做函数参数、09 C++中的引用-引用做函数返回值、10 C++中的引用-引用的本质、11 C++中的引用-常量引用、12 函数高级-函数的默认参数、13 函数高级-函数的占位参数、14 函数高级-函数重载-基本语法、15 函数高级-函数重载-注意事项、16 类和对象-封装-属性和行为作为整体、17 类和对象-封装-案例-设计学生类、18 类和对象-封装-访问权限、19 类和对象-封装-c++中class和struct的区别、20 类和对象-封装-成员属性私有化、21 类和对象-封装-设计案例1-立方体类、22 类和对象-封装-设计案例2-点和圆关系、23 类和对象-对象特性-构造函数和析构函数、24 类和对象-对象特性-函数的分类以及调用、25 类和对象-对象特性-拷贝构造函数调用时机、26 类和对象-对象特性-构造函数调用规则、27 类和对象-对象特性-深拷贝与浅拷贝、28 类和对象-对象特性-初始化列表、29 类和对象-对象特性-类对象作为类成员、30&31 类和对象-静态成员、32 类和对象-对象特性-成员变量和成员函数分开存储、33 类和对象-对象特性-this指针的用途、34 类和对象-对象特性-空指针访问成员函数、35 类和对象-对象特性-const修饰成员函数、36 类和对象-友元-全局函数做友元、37 类和对象-友元-友元类、38 类和对象-友元-成员函数做友元、39 类和对象-C++运算符重载-加号运算符重载、40 类和对象-C++运算符重载-左移运算符重载、41 类和对象-C++运算符重载-递增运算符重载、42 类和对象-C++运算符重载-赋值运算符重载、43 类和对象-C++运算符重载-关系运算符重载、44 类和对象-C++运算符重载-函数调用运算符重载、45 类和对象-继承-基本语法、46 类和对象-继承-继承方式、47 类和对象-继承-继承中的对象模型、48 类和对象-继承-构造和析构顺序、49 类和对象-继承-同名成员处理、50 类和对象-继承-同名静态成员处理、51 类和对象-继承-继承语法、52 类和对象-继承-菱形继承问题以及解决方法、53 类和对象-多态-多态的基本语法、54 类和对象-多态-多态的原理剖析、55 类和对象-多态-案例1-计算器类、56 类和对象-多态-纯虚函数和抽象类、57 类和对象-多态-案例2-制作饮品、58 类和对象-多态-虚析构和纯虚析构、59 类和对象-多态-案例3-电脑组装需求分析、60 类和对象-多态-案例3-电脑组装具体实现、61 C++文件操作-文本文件-写文件、62 C++文件操作-文本文件-读文件、63 C++文件操作-二进制文件-写文件、64 C++文件操作-二进制文件-读文件、01 职工管理系统-需求分析以及案例展示、02 职工管理系统-创建项目、03 职工管理系统-创建职工管理类、04 职工管理系统-菜单功能实现、05 职工管理系统-退出系统功能实现、06 职工管理系统-职工抽象类和普通员工类实现、07 职工管理系统-经理类和老板类实现、08 职工管理系统-添加职工功能实现、09 职工管理系统-文件交互-写文件、10 职工管理系统-文件交互-读文件1-文件未创建、11 职工管理系统-文件交互-读文件2-文件为空、12 职工管理系统-文件交互-读文件3-统计人数、13 职工管理系统-文件交互-读文件4-初始化完毕、14 职工管理系统-显示职工功能、15 职工管理系统-删除职工-判断职工是否存在、16 职工管理系统-删除职工-功能实现、17 职工管理系统-修改职工功能实现、18 职工管理系统-查找职工功能实现、19 职工管理系统-按照职工编号进行排序功能实现、20 职工管理系统-清空文件实现、01 模板-模板的概念、02 模板-函数模板基本语法、03 模板-函数模板注意事项、04 模板-函数模板案例-数组排序、05 模板-普通函数与函数模板区别、06 模板-普通函数与函数模板调用规则、07 模板-模板的局限性、08 模板-类模板基本语法、09 模板-类模板与函数模板区别、10 模板-类模板中成员函数创建时机、11 模板-类模板对象做函数参数、12 模板-类模板与继承、13 模板-类模板成员函数类外实现、14 模板-类模板分文件编写、15 模板-类模板与友元、16 模板-类模板案例-数组类封装的需求分析、17 模板-类模板案例-数组类封装(上)、18 模板-类模板案例-数组类封装(下)、19 STL初识-STL的基本概念、20 STL初识-vector存放内置数据类型、21 STL初识-vector存放自定义数据类型、22 STL初识-容器嵌套容器、23 string容器-构造函数、24 string容器-赋值操作、25 string容器-字符串拼接、26 string容器-字符串查找和替换、27 string容器-字符串比较、28 string容器-字符存取、29 string容器-字符串插入和删除、30 string容器-子串获取、31 vector容器-构造函数、32 vector容器-赋值操作、33 vector容器-容量和大小、34 vector容器-插入和删除、35 vector容器-数据存取、36 vector容器-互换容器、37 vector容器-预留空间、38 deque容器-构造函数、39 deque容器-赋值操作、40 deque容器-大小操作、41 deque容器-插入和删除、42 deque容器-数据存取、43 deque容器-排序操作、44 STL案例1-评委打分、45 stack容器-基本概念、46 stack容器-常用接口、47 queue容器-基本概念、48 queue容器-常用接口、49 list容器-基本概念、50 list容器-构造函数、51 list容器-赋值和交换、52 list容器-大小操作、53 list容器-插入和删除、54 list容器-数据存取、55 list容器-反转和排序、56 list容器-排序案例、57 set容器-构造和赋值、58 set容器-大小和交换、59 set容器-插入和删除、60 set容器-查找和统计、61 set容器-set和multiset区别、62 pari使用-pair对组的创建、63 set容器-内置类型指定排序规则、64 set容器-自定义数据类型指定排序规则、65 map容器-构造和赋值、66 map容器-大小和交换、67 map容器-插入和删除、68 map容器-查找和统计、69 map容器-排序、70 STL案例2-员工分组、71 函数对象-函数对象基本使用、72 谓词-一元谓词、73 谓词-二元谓词、74 内建函数对象-算术仿函数、75 内建函数对象-关系仿函数、76 内建函数对象-逻辑仿函数、77 常用遍历算法-for_each、78 常用遍历算法-transform、79 常用遍历算法-find、80 常用查找算法-find_if、81 常用查找算法-adjacent_find、82 常用查找算法-binary_search、83 常用查找算法-count、84 常用查找算法-count_if、85 常用排序算法-sort、86 常用排序算法-random_shuffle、87 常用排序算法-merge、88 常用排序算法-reverse、89 常用拷贝和替换算法-copy、90 常用拷贝和替换算法-replace、91 常用拷贝和替换算法-replace_if、92 常用拷贝和替换算法-swap、93 常用算术生成算法-accumulate、94 常用算术生成算法-fill、95 常用集合算法-set_intersection、96 常用集合算法-set_union、97 常用集合算法-set_difference、01 演讲比赛流程管理系统-比赛需求分析以及成品展示、02 演讲比赛流程管理系统-项目的创建、03 演讲比赛流程管理系统-演讲比赛管理类创建、04 演讲比赛流程管理系统-菜单功能界面搭建、05 演讲比赛流程管理系统-退出系统功能实现、06 演讲比赛流程管理系统-选手类创建、07 演讲比赛流程管理系统-容器的设计以及初始化操作、08 演讲比赛流程管理系统-创建选手、09 演讲比赛流程管理系统-抽签功能实现、10 演讲比赛流程管理系统-比赛功能实现、11 演讲比赛流程管理系统-显示晋级选手信息、12 演讲比赛流程管理系统-第二轮比赛流程实现、13 演讲比赛流程管理系统-保存记录功能实现、14 演讲比赛流程管理系统-读取记录-获取往届分数、15 演讲比赛流程管理系统-读取记录-解析文件中的数据、16 演讲比赛流程管理系统-查看往届记录功能实现、17 演讲比赛流程管理系统-解决程序中的bug、18 演讲比赛流程管理系统-清空记录功能实现、01 机房预约系统-需求分析介绍、02 机房预约系统-成品展示、03 机房预约系统-创建项目、04 机房预约系统-主菜单界面搭建以及提供登录接口、05 机房预约系统-退出功能实现、06 机房预约系统-身份的抽象基类创建、07 机房预约系统-学生类的创建、08 机房预约系统-教师类创建、09 机房预约系统-管理员类创建、10 机房预约系统-全局文件添加、11 机房预约系统-登录函数接口封装、12 机房预约系统-学生身份登录实现、13 机房预约系统-教师身份登录实现、14 机房预约系统-管理员身份登录实现、15 机房预约系统-管理员子菜单搭建以及注销实现、16 机房预约系统-管理员添加账号实现、17 机房预约系统-获取文件中学生和老师信息、18 机房预约系统-检测账号重复的功能实现、19 机房预约系统-解决检测重复账号添加中的bug、20 机房预约系统-查看账号功能实现、21 机房预约系统-查看机房信息功能实现、22 机房预约系统-清空预约功能实现、23 机房预约系统-学生子菜单搭建以及注销实现、24 机房预约系统-申请预约功能实现、25 机房预约系统-预约类的容器属性分析、26 机房预约系统-预约类中获取所有预约信息、27 机房预约系统-更新预约记录功能实现、28 机房预约系统-学生显示自身预约功能实现、29 机房预约系统-学生显示所有预约功能实现、30 机房预约系统-学生取消预约功能实现、31 机房预约系统-教师子菜单搭建以及注销实现、32 机房预约系统-教师显示所有预约功能实现、33 机房预约系统-教师审核预约功能实现等,UP主更多精彩视频,请关注UP账号。https://www.bilibili/video/BV1et411b73Z

C语言及C++知识点:

第一阶段:C语言开发

  1. 语言概述:计算机基础;第一个C语言程序;C的代码的含义与编译;集成开发环境(vs、qt)
  2. 编程基础:常量与变量;进制转换;运算符;条件控制语句;数组与字符串
  3. 函数:函数的基本概念;字符串操作的常用函数;自定义函数
  4. 指针:指针变量的定义;指针基本使用;const修饰的指针;一级指针与数组名的关系;指针法操作数组元素;指针作为函数的参数;数组作为函数的参数;指针做函数的返回值;指针处理字符串
  5. 内存管理:局部变量的作用域和生命周期;静态局部变量的作用域和生命周期;全局变量的作用域和生命周期;静态全局变量的作用域和生命周期;静态函数和非静态函数的区别;内存分区;堆区内存的分配(malloc)和释放(free)
  6. 复合类型:结构体的基本用法;结构体嵌套指针和数组;结构体作为函数参数;复合类型的声明与使用
  7. 文件操作:文件的分类(文本、二进制);文件的打开和关闭;文件操作函数;文件读写缓冲区的概念

第二阶段:C高级编程

  1. 内存分区、函数调用模型:数据类型、变量的含义;内存四区特点;函数的调用模型;内存操作函数;宏定义与预处理
  2. 2指针高级:指针基本使用;指针的步长的概念;指针简介赋值;指针以及多级指针做函数参数的特性与使用;通过指针操作字符串;const类型修饰符;位的逻辑运算符;移位运算符;数组指针与指针数组;多维数组做函数参数;结构体嵌套一级指针;结构体嵌套二级指针;浅拷贝深拷贝
  3. 函数指针与回调函数:封装和设计的思想;函数指针定义的三种方式;回调函数
  4. 数据结构与链表:链表的基本概念;单链表的相关操作
  5. 递归函数:递归函数的概念;递归的使用
  6. 数据结构与算法:大O表示法基本概念;线性表顺序存储和链式存储概念;线性表的顺序存储(数组);线性表的链式存储(链表);队列的顺序与链式存储;栈的顺序与链式存储;二叉树基本操作;常用排序算法
  7. 接口的封装和设计:函数的封装设计;解耦合的设计理念;模块实现与业务分离的思想

第三阶段:C++核心编程

  1. C++对C的扩展、引用:C++语言的命名空间的使用;C++对C的扩展;C、C++中const不同之处;定义和使用引用类型变量
  2. 函数重载:类的的默认参数;C++的函数重载;类和对象的基本概念;类的封装和访问控制权限;类和对象进行简单编程
  3. 类和对象:类的构造函数;类的析构函数;explicit关键字作用;类的拷贝构造函数的使用;深拷贝和浅拷贝问题;多个对象的构造和析构函(初始化列表)
  4. 对象的动态分配和释放:类和对象的动态分配和释放内存;静态成员变量和函数的使用;C++编译器对成员变量和成员方法的处理机制;this的使用;友元函数;友元类
  5. 运算符重载:运算符重载概念;常用运算符重载;自定义的智能指针类;实现一个自定义的String类
  6. 类的继承和派生、多态:继承中的访问控制;继承中的构造和析构;多继承;virtual继承的基本概念;多态的使用(多态成立条件、使用场景);区分成员函数的重写和重定义;虚函数表指针,分步初始化;虚函数;纯虚函数;抽象类的使用;虚析构函数和纯虚析构函数
  7. 面向抽象类编程与设计模式:设计模式原则;常用的设计模式
  8. 函数模板、类模板:函数模板基本语法;函数模板和函数重载的调用规则;编译器对模板的编译过程;类模板的概念和基本语法;继承中的类模板;类模板中普通友元函数、友元函数模板的处理
  9. 异常、I/O流:C++类型转换;C++标准异常库;异常的抛出与捕获;C++标准I/O流(cin、cout);C++的文件I/O类的使用
  10. STL:STL容器、迭代器的原理;序列式容器vector、string、deque;堆栈容器stack、quenue;双向链表容器list;关联式容器set、multiset;对组pair;关联式容器map、multimap;STL算法详解

第四阶段:桌面应用开发

  1. Qt常用的控件:Qt的基本概念;Qt应用程序框架;Qt信号和槽的应用;Qt窗口系统;常用对话框的使用;Qt界面设计;Qt事件处理
  2. Qt绘图与文件操作:QPainter绘图;update函数;绘图设备(QPixmap、QBitmap、QImage、QPicture);文件操作
  3. MFC对话框与常用空间:Windows编程的基本概念;Windows编程模型;MFC应用程序框架;创建MFC应用程序;MFC函数Ex后缀和Afx前缀的作用;创建基于对话框的MFC应用程序;模态对话框和非模态对话框;常用控件

第五阶段:Linux系统编程

  1. Linux命令:Linux下的目录结构;工作日程应用命令;Ubuntu下的软件安装和卸载;
  2. Linux开发与调试工具:vim命令模式下操作;vim末行模式下操作;vim的配置;gcc的工作流程和掌握常见参数;Linux下的静态库与共享库(windows动态库)的制作和使用;Makefile;gdb调试;pcb和文件描述符,虚拟地址空间;
  3. 系统I/O操作:Linux系统IO函数;阻塞和非阻塞的概念; stat/lstat函数;文件属性相关函数;链接相关概念及函数;目录操作相关概念及函数;dup、dup2函数;fcntl函数
  4. 进程与IPC通信:进程相关的概念;进程操作相关函数;孤儿进程;僵尸进程;进程回收;进程间通信
  5. 线程与并发同步:互斥量;死锁以及解决方案;读写锁;条件变量;条件变量实现生产消费者模型;信号量实现生产消费者模型;线程同步解决哲学家就餐问题;
  6. 信号:信号中的基本概念;使用信号相关的函数;信号内核实现原理;信号捕捉函数signal、sigaction;使用信号完成子进程的回收;发送信号时如何进行参数传递;

第六阶段:Linux网络编程

  1. 网络协议与网络编程:OSI七层模型结构;TCP/IP 4层模型结构;B/S、C/S优缺点对比;常见网络协议格式;套接字;网络字节序;IP地址转换函数;编写TCP的C/S网络程序;UDP通信机制与模型;本地套接字;三次握手建立连接过程;四次握手断开连接过程;滑动窗口概念;错误处理函数封装;TCP状态转换;2MSL概念;端口复用方法;半关闭;
  2. 高并发服务器开发(poll、select和epoll):多路IO转接模型;select函数;fd_set相关操作函数;select多路IO转接模型poll操作函数;epoll多路IO模型;线程池模型的设计思想;多进程并发服务器;多线程并发服务器;libevent库;epoll反应堆模型;使用BufferEvent、evBuffer;多线程并发服务器;

第七阶段:项目实战相关

  1. Oracle数据库编程:简单查询;oracle的常用函数;多表查询;集合操作;DDL操作管理表;DML管理数据;其它数据库对象;PL/SQL编程;存储过程与存储函数;触发器;工具查询;解决Top-N问题;
  2. MySQL数据库编程:MySQL表的约束;MySQL中出现的中文乱码问题;MySQL函数库连接数据库;MySQL API访问数据库;使用基础类API实现MySQL客户端工具;预处理类API访问MySQL数据库;使用api修改MySQL事务特性;
  3. MongoDB数据库编程:MongoDB的安装;MongoDB的相关概念;MongoDB的基本操作指令;对MongoDB进行数据操作、索引操作;MongoDB的副本集;使用MongoDB C++ API;需求分析的一般过程;需求案例的实现原理和设计过程;案例程序框架搭建和部署;
  4. Redis缓存数据库编程
  5. Shell脚本编程
  6. git-代码版本控制工具
  7. Nginx(web框架)的搭建与使用
  8. fastDFS(分布式文件系统)的配置与使用……

最后送大家一份好书推荐,码住收藏!

C语言推荐书籍

  • 《C Primer Plus中文版》
  • 《Linux C编程一站式学习》
  • 《C 和指针》
  • 《C 程序设计语言》
  • 《深入理解C指针》
  • 《C 专家编程》
  • 《C 陷阱与缺陷》
  • 《C 语言的科学和艺术》
  • 《C 语言程序设计现代方法》
  • 《C 语言接口与实现》
  • 《数据结构与算法分析—C语言描述》
  • 《UNIX环境高级编程(第3版)》
  • 《Linux程序设计》
  • 《C语言高级编程》

C++推荐书籍

  • 《C++标准程序库》
  • 《C++程序设计语言》
  • 《C++语言的设计和演化》
  • 《The Standard C Library》
  • 《C++ Primer》
  • 《C++ Primer Plus》
  • 《C++编程思想(Thinking in C++) 》
  • 《C++初学者指南》
  • 《Effective C++ 》
  • 《More Effective C++ 》
  • 《C和C++安全编码》

除此之外最重要的就是重视编程基础,这决定了你的编程之路能走多远。

更多推荐

如何在两个月之内掌握C++入门?