你将获得

  • 掌握 C++ 语言现代特性
  • 领会 C++ 抽象表达精髓
  • 实践 C++ 开发惯用模式
  • 征服复杂性解决实际问题

AI 导学

《现代 C++ 编程实战》是一门专为 1-5 年 C++ 开发者打造的进阶课程,由前 Intel 架构师吴咏炜主讲,系统讲解 C++ 核心特性与工程实践技巧。课程涵盖从资源管理、智能指针、模板元编程到并发编程、网络开发、C++20 新特性等关键内容,帮助你编写高性能、可维护的 C++ 代码。

你将深入掌握 RAII 机制、移动语义、智能指针实现原理,理解模板元编程与 constexpr 的编译期计算技巧,并实战使用 Boost 库、单元测试、日志系统和 REST 网络编程。课程还前瞻性地引入 C++20 Concepts、Ranges、协程等新特性,助你紧跟语言发展趋势。

通过本课程,你将具备开发高性能复杂系统的能力,胜任底层架构、游戏引擎、高频交易等对性能要求严苛的岗位,全面提升技术竞争力,为职业发展打开更广阔的空间。

课程介绍

C++,一门声名在外的老牌编程语言。

作为一门多范式的通用编程语言,它适用的领域非常广泛,小到嵌入式,大到分布式服务器,到处可以见到 C++ 的身影。从性能上看,C++ 表现也很出色,虽然完成同样的功能,C++ 需要的代码行数可能是 Python 的三倍,而性能则可以轻松达到 Python 的十倍以上。此外,其发展前景也非常广阔,作为未来趋势的人工智能和机器学习,外衣是 Python(模型描述),但是内核还是 C++(高性能运算) 。

但你也可能听说过 C++ 的另一种评价——复杂、难学、难用。上手和熟练掌握难,应用上容易出错,被误用的可能性也很大。还有,C++ 继发布语言标准的第二版——C++11——之后,它以每三年一版的频度发布着新的语言标准,每一版都在基本保留向后兼容性的同时,提供改进和新功能。

难且迭代迅速,相信这两座大山让很多 C++ 程序员都望而生畏。可事实真的如此吗?你有没有深入思考过到底什么样的学习方式才最适合 C++?面对那么多的新功能、单词和语法规则,要记吗?哪些才是重点?记住了又怎么用呢?

针对以上这些问题,吴咏炜将结合自己过去 20 多年累积的工作经验,节选现代 C++ 的重要新特性,带你进入编程实战,手把手带你重新理解 C++。相信通过本专栏的学习,你能把 C++ 当作一种实用的语言,能用它写出抽象但自然、可维护的高性能代码,并用它去更好地解决项目中的实际问题。

具体内容上,专栏分为以下四部分:

第一部分——基础篇,讲解现代 C++ 中的最重要特性,帮助你理解基础概念;

第二部分——提高篇,讲述几个独立的专题,帮助你掌握 C++ 中的一些高级技巧;

第三部分——实战篇,讨论实际的工具和第三方库,帮助你打磨手头的兵器库;

第四部分——未来篇,讨论 C++20 中即将引入的一些新特性,帮助你培养前瞻性。

学习路径图

特别说明:

1. 专栏中的内容大部分时间都会使用不超过 C++17 标准的语言特性,最后在讲到 C++20 新特性时,某些实验功能可能会要求某个特定的编译器,更多细节请参见 [课前必读]

2. 专栏涉及到的都是较短的代码,因此不需要工程文件也可以编译运行。这里建议你熟悉编译器的命令行,来快速编译代码。

3. 为了方便你编译,可编译的完整示例代码已经放在 GitHub 上。如果你使用 CMake,还可以用它来生成你使用的平台所需的工程文件。如访问 GitHub 出现问题,也可在 GitCode 上找到本课程的示例代码。

4. 专栏中案例 + 代码偏多,不建议仅通过音频学习,“文稿 + 音频 + 动手实践”为最佳学习方式。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。