Sirius' blog Sirius' blog
首页
  • 学习笔记

    • 《C++》
    • 《MATLAB》
    • 《Python》
  • 学习笔记

    • 《Git》
    • 《CMake》
  • 技术文档
  • 博客搭建
  • 学习
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Sirius0v0

怕什么真理无穷,进一寸有一寸的欢喜
首页
  • 学习笔记

    • 《C++》
    • 《MATLAB》
    • 《Python》
  • 学习笔记

    • 《Git》
    • 《CMake》
  • 技术文档
  • 博客搭建
  • 学习
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 基础

  • Cpp小记
  • C++学习笔记-220705-V1
  • 进阶

  • 奇思妙用

    • 默认构造返回多个类型
  • 库的使用

  • 《C++》学习笔记
  • 奇思妙用
Sirius0v0
2023-08-14

默认构造返回多个类型

# 默认构造函数:初始化列表解决函数多返回值

通常使用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)
#Cpp
上次更新: 2023/08/15, 01:36:48
C++11多线程编程
googletest配置方法及使用

← C++11多线程编程 googletest配置方法及使用→

最近更新
01
ipopt优化库配置及使用
07-21
02
ubuntu离线安装包的方法
07-21
03
其它控件的使用
03-05
更多文章>
Theme by Vdoing | Copyright © 2020-2024 Sirius0v0 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式