默认构造返回多个类型
# 默认构造函数:初始化列表解决函数多返回值
通常使用C++返回多类型值使用 std::tuple
,然而此方法:
- 不易区分每个属性的名字,容易搞混;
- 每增加一个属性都需要全部改一次代码
利用默认构造函数,利用初始化列表将会是一个更加fancy的写法:
struct HitRes {
bool hit;
float depth;
std::string desc;
};
HitRes get_multi_value(std::string str) {
return {true, 2.3f, str};
}
int main() {
auto str = std::string("hello");
auto hit = get_multi_value(str);
if (hit.hit) { // 可以依照属性名称访问
std::cout << hit.desc << '\n';
}
return EXIT_SUCCESS;
}
编辑 (opens new window)
上次更新: 2023/08/15, 01:36:48