第一部分——语言特性
# 第一部分——语言特性
可以说,C++由两部分组成:语言本身和标准库。第一部分,即语言本身,侧重于富有表现力的代码和严谨的语法。第二部分则为你提供工具、实用程序和算法。例如,在C++11中,引入的lambda表达式简化了短函数对象的编写。C++14允许函数返回类型进行‘auto’类型推导,这也缩短了代码长度并简化了模板代码。
C++17作为C++标准的一次重大更新,带来了许多令人惊叹的语言特性,总体上使该语言更加清晰、简洁。例如,借助if constexpr
,你可以减少对enable_if
和标签分派技术的依赖。由于结构化绑定,你可以将元组(tuples)当作一等语言类型来使用;你还能依赖并理解表达式求值顺序,编写自然利用复制省略机制的代码,等等!
在这一部分,你将学到:
- 哪些内容从语言中被移除,哪些已被弃用;
- 语言在哪些方面更加精确,例如得益于表达式求值顺序的保证;
- 模板的新特性有哪些,如
if constexpr
或折叠表达式; - 新的标准属性有哪些;
- 如何借助结构化绑定、内联变量、编译期
if
以及类的模板参数推导,编写更简洁、更具表现力的代码。
上次更新: 2025/04/01, 13:21:34