C++高级编程:从进阶语法到 C++11 核心特性

C++高级编程:从进阶语法到 C++11 核心特性-CG Tuto
C++高级编程:从进阶语法到 C++11 核心特性
此内容为付费资源,请付费后查看
知识点:40
付费资源
图片[1]-C++高级编程:从进阶语法到 C++11 核心特性-CG Tuto

Learn Advanced C++ Programming

课程内容与学习目标

  • 课程从已有的 C++ 基础出发,转向语言中更进阶的功能,并包含 C++11 的新增特性。
  • 官网列出的学习目标包括开发复杂的 C++ 应用、理解 C++11,以及为需要良好 C++ 知识的岗位申请做准备。

异常处理

  • 课程讲解异常基础,以及标准 C++ 异常:在分配内存的构造函数中抛出异常、按引用捕获异常,并使用标准异常基类的 what() 方法。
  • 还会创建并派生自标准异常的自定义异常类,重写 what() 描述错误,并通过 try-catch 验证抛出和捕获行为。
  • 异常处理顺序部分说明子类应在父类之前被捕获,以配合多态关系处理异常。

文件处理与 STL

  • 文件部分包含文本文件写入、使用 ifstreamgetline 读取文本、处理文件结尾,以及带分隔符读取格式化文本数据。
  • 二进制文件部分将非填充结构体写入二进制文件,再读取回来验证数据;课程也涉及结构体与内存填充。
  • STL 部分使用 vector、list、map、multimap、set、stack、queue、deque 等容器,涵盖容量管理、迭代器、键值查找、重复键和排序。
  • 课程还以自定义对象作为 map 的值和键,涉及默认构造、初始化列表、复制构造、赋值,以及为键重载小于运算符。

运算符重载与模板

  • 运算符重载部分实现赋值运算符并讨论浅复制、深复制、复制构造与三法则;赋值运算符以引用形式返回。
  • 课程演示左移运算符用于输出对象,以及为复数类重载加法、相等测试和解引用运算符。
  • 模板部分说明模板的定义和实现需要同时可见,并以头文件组织模板类;还介绍模板类、模板函数和类型推断。

函数、多态与抽象类

  • 课程介绍函数指针的声明、赋值和调用,并将函数指针作为条件测试传递给算法,对字符串 vector 中的匹配项进行计数。
  • 对象切片与多态部分比较虚函数和非虚函数,说明向上转型、复制构造造成的切片,以及虚析构函数的清理作用。
  • 抽象类与纯虚函数部分阻止基类直接实例化,并通过基类指针和多态方式统一处理派生对象;另包含 functor 内容。

C++11 新特性

  • 课程涵盖 decltypetypeidauto、范围 for 循环,以及嵌套模板类和可迭代的环形缓冲区。
  • 初始化部分对比 C++98 与 C++11,涉及花括号初始化、initializer listnullptr、默认构造函数和禁止复制、赋值。
  • Lambda 部分涉及匿名函数、参数、返回类型、捕获表达式、捕获 this、标准 function 类型与 mutable lambda。
  • 对象与内存部分包括委托构造、复制省略、返回值优化、左值与右值引用、移动构造和移动赋值运算符。
  • 课程还介绍 static_cast、dynamic_cast、reinterpret_cast、完美转发、bind、unique pointer 与 shared pointer。

分形图像项目

  • 课程最后创建生成 Mandelbrot 分形图像的程序,使用课程中出现的语言功能,并练习智能指针和数组。
  • 项目从位图文件头、信息头、位图类、内存、像素设置与位图写入开始,建立用于输出图像的代码。
  • 随后实现 Mandelbrot 算法、坐标缩放、图像比例调整、颜色直方图、迭代次数存储与基于直方图的颜色处理。
  • 项目还包含缩放类和缩放列表、居中与应用缩放、重组 main 函数、实现 FractalCreator、RGB 类、颜色插值与按范围着色。

练习安排

  • 课程在学习过程中提供练习,前期练习较容易,后期包含难度更高但可选的练习。
  • 分形项目的进一步练习涉及调整 Mandelbrot 颜色和迭代次数、预计算数据、使用 profiling 优化、使用 SDL 绘制、点击重绘与缩放,以及内存检查。

适合人群

  • 适合已有 C++ 基础、希望进一步增加知识的学习者。
  • 也适合了解 C++98、希望学习 C++11 特性的学习者。

前置基础

  • 需要具备基本的 C++ 知识。

使用软件

  • 需要一个 C++ 编译器
⏱ 课程时长15.2小时
🎬 视频尺寸1920x1080
📦 配套资源
📝 学习笔记
🌍 语言 / 字幕精翻原声字幕 | 精配国语
🧾 课程编号260436
💾 资源大小5.99G

B 站粉丝专享:全套课程配套工程资源
包含:课件、资产、工程(内容以实际提供的为准)

课程学习笔记
本课程整理的学习笔记与补充资料

本站内容用于软件技术学习与流程研究。请支持课程原作者,并遵守相关软件及素材许可协议。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容