从 C++20 开始,auto通过以下方式引入约束:
Concept auto identifier = init
这意味着,例如:
std::integral auto x = 10;
已验证。
此外,对于 new-expressions,concept 允许与 配对auto:
new Concept auto { expr };
// or:
new Concept auto ( expr );
auto{expr}或auto(expr)在 C++23 中引入,大致相当于:
auto __temp { expr };
return __temp;
这是否意味着Concept auto { expr }或Concept auto ( expr )也有效?
简单的用例可用于尝试创建衰减副本,同时检查由约束检查的操作。