第一部分——语言特性

# 第一部分——语言特性

可以说,C++由两部分组成:语言本身和标准库。第一部分,即语言本身,侧重于富有表现力的代码和严谨的语法。第二部分则为你提供工具、实用程序和算法。例如,在C++11中,引入的lambda表达式简化了短函数对象的编写。C++14允许函数返回类型进行‘auto’类型推导,这也缩短了代码长度并简化了模板代码。

C++17作为C++标准的一次重大更新,带来了许多令人惊叹的语言特性,总体上使该语言更加清晰、简洁。例如,借助if constexpr,你可以减少对enable_if和标签分派技术的依赖。由于结构化绑定,你可以将元组(tuples)当作一等语言类型来使用;你还能依赖并理解表达式求值顺序,编写自然利用复制省略机制的代码,等等!

在这一部分,你将学到:

  • 哪些内容从语言中被移除,哪些已被弃用;
  • 语言在哪些方面更加精确,例如得益于表达式求值顺序的保证;
  • 模板的新特性有哪些,如if constexpr或折叠表达式;
  • 新的标准属性有哪些;
  • 如何借助结构化绑定、内联变量、编译期if以及类的模板参数推导,编写更简洁、更具表现力的代码。
上次更新: 2025/04/01, 13:21:34

社区交流

讨论与留言

前往 GitHub Issues →

本留言区仅对应当前文章,欢迎补充观点、提出问题或帮助修正文中疏漏。 留言由 GitHub/Gitalk 提供,需要使用 GitHub 登录。

最近更新
第 1 课:专栏导论与安全边界
07-01
第 3 课:安装编译与调试环境
07-01
第 4 课:第三方库下载、编译与依赖管理
07-01
更多文章>