3016分钟

C++基础与深度解析

C++基础与深度解析

C++是一门追求高性能的高级语言,在底层开发、高性能计算中占据了重要的角色;C++又是一门相对难以掌握的编程语言,与其它语言相比,它更加难学,难以精通。 这门课程旨在讨论C++的基础知识,重点讲解C+…

课程分类
编程开发 | 软件开发
适用人群
工程师, 专家, 研究员
课程标签
C++编程,深度解析,性能优化
C++是一门追求高性能的高级语言,在底层开发、高性能计算中占据了重要的角色;C++又是一门相对难以掌握的编程语言,与其它语言相比,它更加难学,难以精通。 这门课程旨在讨论C++的基础知识,重点讲解C++的基本语法及语法背后的底层细节,比如同样是for循环,如何尽可能的提升其执行效率。同时,课程内容也会适时融入工程经验,为后续进一步学习与使用C++打下牢固的基础。 首先将从类型、表达式到语句、函数、IO全面讲解C++的基础。虽然是基础,但讲解的会很深入,通过结合汇编代码帮助理解底层实现细节,利用cpp reference、cpp insights、compiler explore等深入讲解语法细节,可以让同学们在短时间内打下C++坚实的基础。 接着会从动态内存分配、序列与关联容器、泛型算法和Lambda表达式部分摸索现代C++的语法特性。会详细介绍智能指针如何解决内建指针的痛点,逐个介绍C++引入的容器使用方法,引入泛型算法、Lambda表达式提高编程效率。 最后会从面向过程编程过渡到面向对象编程和元编程的编程范式,讲解类中特殊的成员方法以及它们的自动合成行为,并引入操纵程序的程序(元程序)的编程范式——元编程,以完成编译期计算。
第1章:C++基础 - 1-1 什么是C++ - 1-2 C++开发环境与相关工具 - 1-3 C++的编译:链接模型 第2章:C++初探 - 2-1 从Hello world谈起 - 2-2 系统I/O - 2-3 猜数字与控制流 - 2-4 结构休与自定义数据类型 第3章:对象与基本类型 - 3-1 从初始化和贼值语句谈起 - 3-2 类型详述 - 3-3 类型划分-基本类型与复杂类型 - 3-4 标准未定义类型 - 3-5 类型别名与类型的自动推导 第4章:数组、vector与字符串 - 4-1 数组(上) - 4-1 数组(下) - 4-2 从数组到指针 - 4-3 其他操作 - 4-4 C字符串 - 4-5 多维数组 第5章:表达式基础与详述 - 5-1 表达式基础:引入 - 5-2 表达式基础:左值与右值 - 5-3 表达式基础:类型转换 - 5-4 表达式详述:算术操作符 - 5-5 表达式详述:逻辑与关系操作符 - 5-6 表达式详述:位操作符 - 5-7 表达式详述:赋值操作符 - 5-8 表达式详述:自增与自减运算符 - 5-9 表达式详述:其他操作符 第6章:函数 - 6-1 函数基础 第7章:深入IO - 7-1 序言 - 7-2 IOStream概述 - 7-3 输入与输出 - 7-4 文件与内存操作 - 7-5 流的定位 - 7-6 流的同步 第8章 动态内存管理 - 8-1 序言 - 8-2 栈内存与堆内存 - 8-3 new的几种常见形式 - 8-4 delete的常见用法 - 8-5 为什么C++中引入智能指针 - 8-5 shared_ptr - 8-6 unique_ptr - 8-7 weak_ptr - 8-8 动态内存的相关问题 I - 8-9 动态内存的相关问题 II 第9章:序列与关联容器 - 9-1 容器概述 - 9-2 序列容器-array容器模板 - 9-3 序列容器-vector容器模板(上) - 9-3 序列容器-vector容器模板(下) - 9-4 关联容器 set - 9-5 关联容器 map multiset multimap - 9-5 关联容器 unordered set map multiset multimap - 9-6 类型适配器和接口适配器 - 9-7 数值适配器和生成器 - 9-8 总结 第10章:泛型算法 - 10-1-1 泛型算法 - 10-1-2 泛型算法 - 10-1-3 泛型算法 - 10-1-4 泛型算法 - 10-2-1 bind与lambda表达式 - 10-2-2bind与lambda表达式 - 10-2-3bind与lambda表达式 - 10-3 泛型算法改进—ranges - 10-4 总结 第11章:类与面向对象编程 - 11-1 结构体与对象聚合(上) - 11-1 结构体与对象聚合(下) - 11-2 成员瓯数(上) - 11-2 成员瓯数(下) - 11-3 访问限定符与友元 - 11-4-1 构造、析构与复制成员函数 - 11-4-2构造、析构与复制成员函数 - 11-4-3 构造、析构与复制成员函数 - 11-4-4 构造、析构与复制成员函数 - 11-5 字面值类、成员指针与bind交互(上) - 11-5 字面值类、成员指针与bind交互(下) 第12童:类的细节 - 12-1-1 运算符重载 - 12-1-2 运算符重载 - 12-1-3 运算符重载 - 12-1-4 运算符重载 - 12-2 类继承 - 12-3 类继承:虚函数-1 - 12-3 类继承:虚函数-2 - 12-4 类的继承:继承与成员函数 - 12-5 类继承一补充知识(上) - 12-5 类继承一补充知识(下) 第13章:模板 - 导课 - 13-1 函数模板 - 13-2 函数模板实参的类型推导 - 13-3 函数模板实参推导的若干讨论 - 13-4 函数模板的实例化控制 - 13-5 函数模板的特化 - 13-6 避免使用函数模板的特化 - 13-7 类模板与成员函数模板 - 13-8 类模板的实例化、特化与实参推导 - 13-9 C++20新概念Concepts - 13-10 requires表达式 - 13-11 数值模板参数与模板参数 - 13-12 别名模板 - 13-13 变长模板 - 13-14 包展开与折叠表达式 - 13-15 完美转发
深蓝学院/李伟

深蓝学院/李伟

专注人工智能与自动驾驶的学习平台/美国微软高级工程师,清华大学博士