码风调查
  • 板块灌水区
  • 楼主Argvchs
  • 当前回复32
  • 已保存回复32
  • 发布时间2023/9/7 19:19
  • 上次更新2023/11/2 22:26:26
查看原帖
码风调查
533270
Argvchs楼主2023/9/7 19:19

如果要写一个返回两个值的函数,你会怎么写?

  1. 直接用 pair

    pair<int, int> fn() { return make_pair(1, 2); }
    
  2. 把 make_pair 换成大括号 (C++11)

    pair<int, int> fn() { return {1, 2}; }
    
  3. 把 make_pair 换成构造函数 (C++17)

    pair<int, int> fn() { return pair{1, 2}; }
    
  4. 把类型换成 auto (C++11)

    auto fn() { return make_pair(1, 2); }
    
  5. 把类型换成 auto 并把 make_pair 换成构造函数 (C++17)

    auto fn() { return pair{1, 2}; }
    
  6. 引用

    void fn(int& a, int& b) { a = 1, b = 2; }
    
2023/9/7 19:19
加载中...