Kla*_*aus 2 c++ c++17 structured-bindings
结构化绑定只能与某种"struct"一起用作返回值吗?
回馈任何类/结构,例如元组在这里工作正常:
auto f()
{
return std::make_tuple(1,2.2);
}
Run Code Online (Sandbox Code Playgroud)
是否有能够实现以下目标的东西:
auto f() -> [int,double]
{
return { 1, 2.2 }; // maybe with or without braces arround
}
Run Code Online (Sandbox Code Playgroud)
你不能拥有像这样的结构
auto f() -> [int,double]
Run Code Online (Sandbox Code Playgroud)
因为那里没有类型信息.尾部返回需要一个type-id,它被定义为一个type-specifier-seq abstract-declarator opt
由于您必须在返回类型中指定类型,因此您可以使用类似的类型
auto f() -> std::tuple<int,double>
Run Code Online (Sandbox Code Playgroud)
指定要返回a int和double.
另请注意,结构化绑定可用于具有公共数据成员,类似对象的元组和数组的类.
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |