导入
简介
了解本章将要学习的概念。
C++ 具备在编译时求值表达式的能力,这意味着程序运行时这些值已经计算完成。尽管从 C++98 开始就已支持元编程,但早期由于其复杂的模板语法,实现起来非常困难。随着 constexpr、if constexpr 的引入,以及最近的 C++ 概念(concepts)特性,元编程变得与编写普通代码更加相似。
本章将简要介绍 C++ 中的编译时表达式求值及其在优化中的应用。
我们将涵盖以下主题:
- 使用 C++ 模板进行元编程,以及如何在 C++20 中编写简化的函数模板
- 使用类型特征在编译时检查和操作类型
- 编译器在编译时求值的常量表达式
- C++20 概念及其如何用于对模板参数添加约束
- 一些实际的元编程应用示例