从 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 )
也有效?
简单的用例可用于尝试创建衰减副本,同时检查由约束检查的操作。