约束自动施法是否有效?
Is constrained auto cast valid?
自 C++20 起,约束 auto
由以下各项引入:
Concept auto identifier = init
这意味着,例如:
std::integral auto x = 10;
有效。
此外,对于新表达式,允许概念与 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 )
也有效?
这个简单的用例可用于尝试创建衰减副本,同时检查其受约束检查的操作。
[dcl.spec.auto.general]/5 仅允许 auto
成为函数类型转换的 simple-type-specifier,即使约束 placeholder-type-specifier 在语法上可以是 simple-type-specifier。
自 C++20 起,约束 auto
由以下各项引入:
Concept auto identifier = init
这意味着,例如:
std::integral auto x = 10;
有效。
此外,对于新表达式,允许概念与 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 )
也有效?
这个简单的用例可用于尝试创建衰减副本,同时检查其受约束检查的操作。
[dcl.spec.auto.general]/5 仅允许 auto
成为函数类型转换的 simple-type-specifier,即使约束 placeholder-type-specifier 在语法上可以是 simple-type-specifier。