Des*_*old 5 c++ auto c++-concepts c++23
从 C++20 开始,约束auto是通过以下方式引入的:
Concept auto identifier = init
Run Code Online (Sandbox Code Playgroud)
这意味着,例如:
std::integral auto x = 10;
Run Code Online (Sandbox Code Playgroud)
已验证。
此外,对于新表达式,概念可以与 配对auto:
new Concept auto { expr };
// or:
new Concept auto ( expr );
Run Code Online (Sandbox Code Playgroud)
auto{expr}orauto(expr)在 C++23 中引入,大致相当于:
auto __temp { expr };
return __temp;
Run Code Online (Sandbox Code Playgroud)
这是否意味着Concept auto { expr }或者Concept auto ( expr )也有效?
这个简单的用例可用于尝试创建衰减副本,同时检查其按约束检查的操作。