C++ 编程 - 高级

掌握高级 C++ 特性,编写更清晰、更安全、更可复用的软件。

Instructor: EDA Academy
CourseAug 05, 2026All LevelChinese

学习真实编程工作中常用的高级 C++ 特性,包括多态、const 正确性、模板、异常、文件流、调试、容器、准容器和算法。建立更强能力,编写更清晰、更安全、更可复用、更易维护的 C++ 程序。

5.0
2students

This offering includes

  • 10 modules
  • 52 lectures
  • Access on mobile and computer
  • Certificate of completion
  • 15.27 hours on-demand video
  • 906.3 KB downloadable content
  • 120 Quiz questions

What you'll learn

使用纯虚函数和抽象基类创建通用接口
声明 const 对象并编写 const 成员函数,以编写更安全的 C++ 类
定义函数模板和类模板,以编写可重用的通用 C++ 代码
使用 throw、catch 和标准异常处理 C++ 中的异常情况
使用 C++ 输入/输出流管理文本和二进制文件
识别错误并应用结构化调试方法解决 C++ 程序故障
使用 C++ 序列容器和关联容器存储和操作数据
有效声明和管理位集、基本字符串和值数组
使用标准算法和合适的迭代器要求操作 C++ 数据

Who is this course for

需要实用C++编程能力的数字IC设计工程师
在硬件开发流程中使用C++的验证工程师
准备从事数字IC设计与验证岗位的学习者
希望掌握EDA相关开发任务所需C++知识的工程师
从过程式编程转向面向硬件C++设计的程序员
希望在数字IC环境中应用C++的C语言程序员
参与高层综合或C++到RTL流程的开发者
需要用C++编写结构化设计与验证代码的工程师
需要可复用且易维护C++代码的硬件方向开发者
任何使用C++支持数字IC实现或验证任务的人

Requirements

建议具备 C++ 变量、数据类型、运算符、表达式和控制语句的基础理解
熟悉类、对象、构造函数、析构函数和成员函数,将有助于更快学习
理解指针和引用对于对象访问、动态绑定和安全内存处理非常重要
建议具备基础命令行技能,用于编译、文件处理和基于调试器的程序检查
具备 EDA 工具、仿真日志或验证脚本经验,有助于把 C++ 技能连接到芯片工作

Description

高级 C++ 能把语言变成构建灵活、可靠、可复用软件的强大工具。优秀的 C++ 程序依赖清晰的对象设计、受控的数据访问、安全的错误处理、有效的文件处理、严谨的调试方式,以及对标准库的熟练使用。这些能力可以帮助开发者超越基础语法,写出更容易扩展、更容易检查、更容易维护的代码。 多态和虚函数让类层次结构更加灵活。基类可以定义共享接口,派生类可以提供各自的行为。静态绑定和动态绑定展示了函数调用如何被选择,可能由编译器决定,也可能由运行时的真实对象决定。纯虚函数和抽象类支持清晰的接口设计,虚析构函数则有助于通过基类指针操作对象时进行安全清理。 const 正确性让代码更安全、更清晰。const 变量和 const 对象保护不应改变的值。const 成员函数让常量对象能够调用安全操作,同时不修改对象中保存的数据。mutable 成员可以在需要时处理有限的内部更新。const_cast 可在特定情况下移除 const 限定,constexpr 支持可在编译时处理的值和函数。了解何时使用 const、何时使用 constexpr,可以更准确地表达代码意图。 模板支持可复用、类型灵活的代码。函数模板让一个函数模式适用于不同数据类型。类模板可以构建灵活的容器、包装类和工具类型。模板实参推导、默认模板实参、模板参数、约束和 concepts 可以控制泛型代码的创建和使用方式。这些工具能够减少重复代码,并支持更强、更清晰的 C++ 设计。 异常处理提供了一种结构化方式,用于处理运行时的异常问题。抛出和捕获异常可以把错误处理逻辑与正常程序流程分开。标准异常类为常见错误类型提供清晰结构。noexcept 表示函数是否预期会抛出异常,嵌套异常可以在错误穿过多层代码时保留有用上下文。这会让失败处理更容易阅读,也更容易诊断。 文件操作让程序能够与外部数据交互。输入输出流支持读取、写入、格式化和管理文件。流状态检查可以帮助发现读取失败、写入失败和其他 I/O 问题。文本文件和二进制文件操作适用于不同的数据存储需求。格式化函数、格式标志和流操纵符可以控制输出显示方式,使记录、报告和存储数据更容易使用。 调试可以把错误行为变成可观察、可追踪的问题。良好的调试习惯能够减少猜测,并更快定位问题。诊断信息、断言、日志和源码级调试器各有不同用途。GDB 的使用包括带调试信息编译程序、在调试器控制下运行程序、设置断点、捕获点和观察点、检查表达式和值、查看调用栈,以及逐行单步执行代码。 标准容器提供可靠的数据存储和组织方式。顺序容器处理有序集合,容器适配器提供栈、队列和优先队列行为,关联容器管理排序后的键和值,无序容器支持快速查找。数组、vector、deque、list、map、set 和无序结构之间的选择,取决于访问方式、排序需求、查找速度和更新行为。 标准准容器和标准算法扩展了数据表示与处理方式。bit set 管理一组二进制值,string 支持文本存储和修改,value array 支持数值处理。标准算法处理常见操作,例如查找、搜索、赋值、移动、删除、随机重排、复制、排序和合并。结合容器、迭代器和算法,可以写出更清晰的代码,减少手写循环,并提高逻辑复用性。

You might also like

More offerings will load here.

Secure checkout via our payment partner.