饥人谷 C++系统班 3 期招生中
P7行业大佬亲自带班
25人以内小班教学
保障教学质量✊
课程大纲
阶段一:c++介绍 (2 周)
章节 1:c++简介
c++历史;
c++标准;
环境搭建;
第一个程序创建
章节 2:基本语法
初识 c++;
语句;
函数
章节 3:基础类型
简单变;
算术运算符;
数组字符串
结构体
枚举
指针
章节 4:循环,分支语句,逻辑运算符
for 循环
while 循环
do while 循环
if 语句
逻辑表达式
switch 语句
break continue 语句
章节 5 函数
函数的基本知识
函数参数和按值传递
函数,数组和二维数组
函数结构
递归函数
函数指针
内联函数
引用变量
默认参数
函数重载
函数模版
章节 6 对象和类
面向对象编程
抽象和类
类的构造函数和析构函数
this 指针
作用域
运算符重载
友元
类的类型转换
动态内存和类
深入函数返回对象
对象指针
章节 7 类的继承
基类介绍
公有继承
私有继承
保护继承
多重继承
继承和动态内存分配
类设计
嵌套类
RTTI
章节 8 stl 标准模板库
string 类
智能指针
标准模版库
泛型编程
函数对象
算法
容器以及其他
阶段二:对象内存模型
章节 9 关于对象
对象模型
struct 和 class 的区别
面向对象编程与其他的区别
章节 10 构造函数
默认构造函数
拷贝构造函数
类型转换
构造函数初始化成员变量
章节 11 成员变量
成员变量的绑定
成员变量的内存布局
成员变量的存取
继承和成员变量
对象成员的效率
成员指针变量
章节 12 成员函数
成员函数类型
虚函数
成员函数指针
内联函数
局部变量
章节 13 对象的构造,析构,拷贝
无继承下的对象构造
有继承下的对象构造
对象拷贝效率
对象析构
章节 14 对象运行期
对象的构造和析构
new 和 delete 运算符
临时对象
章节 15 对象模型总结
模版
异常处理
执行期类型识别(RTTI)
动态库,动态内存
阶段三: C++11
章节 16 新增功能
新类型
统一初始化
声明
智能指针
右值引用
包装器
并行编程
其他
章节 17 新的类功能
特殊的成员函数
默认方法,禁用方法
章节 18 lambda 函数
比较函数指针,函数符,lambda 函数
为何使用 lambda 函数
阶段四 并发编程
章节 19 并发介绍
什么是并发
为什么使用并发
在 c++中使用并发和多线程
章节 20 线程使用
基本线程管理
传递参数给线程函数
转移线程所有权
在运行时选择线程数量
标识线程
章节 21 线程间数据共享
线程之间数据共享问题
用互斥变量保护共享数据
用于共享数据保护的替代工具
章节 22 异步操作
等待条件
使用 future
可超时的等待
使用操作同步
章节 23 原子操作
内存模型基础
原子操作以及类型
同步操作
章节 24 线程安全数据结构(有锁)
并发设计的含义是什么
基于锁的并发数据结构
设计更复杂的基于锁的数据结构
章节 25 线程安全数据结构(无锁)
定义和结构
无锁数据结构的例子
编写无锁数据结构
章节 26 数据并发设计
在线程间划分工作的技术
影响并发代码性能的因素
为多线程性能设计数据结构
为并发设计时的额外考虑
在实践中设计并发代码
章节 27 线程管理
线程池
中断线程
章节 28 多线程调试
并发相关错误的类型
定位并发相关的错误技巧
总结
阶段五 性能优化
章节 29 优化概述
为什么要优化
优化策略
章节 30 影响优化的计算机结构
计算机硬件特性
c++特性
章节 31 测量性能
分析程序执行
热点代码
章节 32 优化字符串
优化字符串的几种方式
消除字符串转换
章节 33 优化算法
算法的时间开销
优化查找和排序的工具箱
高效查找算法
高效排序算法
优化模式
章节 34 优化动态分配内存
c++变量回顾
c++动态变量回顾
减少动态变量的使用
减少动态变量的重新分配
移除无谓复制
实现移动语义
扁平数据结构
章节 35 优化热点语句
从循环中移除代码
从函数中移除代码
优化表达式
优化控制流程
章节 36 使用高性能库
优化标准库的使用
优化现有库
设计优化库
章节 37 优化查找和排序
使用 map
改善查找性能的工具箱
使用 algorithm 头文件进行算法优化
优化 map
章节 38 优化数据结构
理解标准库容器
vector 与 string
deque
list
forward_list
map 与 multimap
set 与 multiset
unordered_map 与 unordered_multimap
章节 39 优化 I/O
读文件技巧
写文件技巧
章节 40 优化并发
复习并发
复习 c++并发方式
优化多线程 c++程序
让同步更加高效
并发库
章节 41 优化内存管理
复习 c++内存管理器 api
高性能内存管理器
提供专用内存管理器
自定义标准库分配器
阶段六:项目实践
6.1 linux 多线程服务端
涉及技术:C++ Socket 多线程
项目介绍:本项目主要讲述使用 C++ 在 x86-64 Linux 上编写多线程 TCP 网络服务程序的 主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即 one loop per thread。这是在 Linux 下以 native 语言编写用户态高性能网络程序最成熟的模 式,掌握之后可顺利地开发各类常见的服务端网络应用程序。本项目宗旨是贵精不贵多。掌握两种基本的同步原语就可以满足各种多线程同步 的功能需求。掌握一种进程间通信方式和一种多线程网 络编程模型就足以应对日常开发任务,编写运行于公司级分布式服务系统。
6.2 支持并行计算和异步网络通讯的工作流框架
涉及技术:C++ 多线程
项目介绍:本项目主要讲述一个C++服务器引擎,其支持大量后端C++在线服务,是一个设计轻盈优雅的企业级程序引擎,其能帮助我们快速的完成下列工作:
1.快速搭建http服务器。
2.万能异步客户端。目前支持http,redis,mysql和kafka协议。
3.构建异步任务流,支持常用任务的串并联,也支持更加复杂的DAG结构。
阶段七:面试辅导(2 周)
章节 42:简历与面试辅导
如何准备简历;
如何准备面试;
常问的面试题
关于老师
叶老师,杭州某一线大厂技术专家 P7,目前负责城市大脑大数据平台设计以及开发。
在其8年一线开发工作经验中:开发语言涵盖c++,java,go,python,开发平台包括windows和linux,业务覆盖传统制造业以及互联网大数据
为什么学c++?
从知识结构的角度看,其更贴近计算机系统和硬件,学习c++有助于了解整个计算机体系,建立稳固的技术开发基础(java,go等语言更注重上层应用逻辑)
从行业需求的角度看,大量行业非c++不可,所以在TIOBE排行中,从c++诞生以来从未跌出前10
什么行业需要c++?(对延时要求高的应用)
嵌入式应用开发
编译器
高性能计算(cuda,opencv)
大型2d,3d游戏
本课程目的以及特点
目的:
培养c++基础知识扎实,理解有深度,且同时对除了语言以外的周边技术知识有了解的开发人员
特点:
讲师有丰富的面试经验以及项目实战经验
课程学习模式
课程每周更新+知识讲解,录播无限期可看;
每周直播答疑和进阶讲解,及时反馈学习情况和困惑;
每个章节配套作业实战练习,包涵知识总结任务、代码实现任务、架构设计任务;
课后提供课程源码、录播供反复学习;
课程群内随时与授课老师互动,课程 1V1 作业批改指导,查漏补缺。
课程服务以及保障
小班教学,不超过30人!
提供一线互联网内推岗位(内推职位均由师兄师姐和在职老师提供);
入学 1 周内且在任务 5 内可无条件全额退款;
入学 1 个月内且在任务 15 内可申请退余款;
退款无任何手续费,退费承诺写入正式合同;
支持边付边学,每期还可支持花呗信用卡分期(非分期平台分期,无需贷款)。
如何报名
《新·C++体系课》原价 4600 元,早鸟价 4200 元。
报名&试看可扫码加微信咨询: xiedaimala03
小圆:xiedaimala03
橙子:xiedaimala04
生生:xiedaimala05
关于饥人谷
饥人谷(杭州饥人谷教育科技有限公司)成立于 2014 年,在国内编程培训行业颇有盛名,在知乎可搜索大量饥人谷老师、学生产出的技术博客,数以百计学员真实评价。
饥人谷目前主要开设课程有面向就业和提升的:
1)前端直播班
2)Java 系统班
3)C++系统班
4)算法系统班
饥人谷自研在线教育平台目前有原创编程课程数百门,入驻老师数十人。所有讲师均有一线大厂多年工作经验,且有丰富的授课经验。
饥人谷拥有一定实力的研发能力,目前是杭州雏鹰科技企业,国家高新技术企业。
饥人谷课程最大特色:
所有老师均有一线互联网大厂工作经验(名校+名企+擅长授课),授课内容完全贴合企业甚至是大厂的工作需求;
八年始终如一的 7 天无理由退全款,3 个月内按学习时长退余款。数千学员,目前无一例退费纠纷。