首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Boost :: Tuples vs Structs返回值?

Boost :: Tuples vs Structs返回值?
EN

Stack Overflow用户
提问于 2018-06-15 04:37:30
回答 2查看 0关注 0票数 0

我会用这个

代码语言:javascript
复制
struct divide_result {
    int quotient;
    int remainder;
};

使用元组,你会有

代码语言:javascript
复制
typedef boost::tuple<int, int> divide_result;

但是如果没有阅读你所调用函数的代码(或者评论,如果你足够愚蠢地信任它们),你不知道哪个int是商,反之亦然。这似乎相当...

代码语言:javascript
复制
struct divide_result {
    int results[2]; // 0 is quotient, 1 is remainder, I think
};

那么,元组相对于结构的优点有哪些可以弥补模糊性?

EN

Stack Overflow用户

发布于 2018-06-15 13:35:16

元组在ML或Haskell等语言中非常有用。

在C ++中,它们的语法使得它们不那么优雅,但在以下情况下可能很有用:

  • 你有一个必须返回多个参数的函数,但调用者和被调用者的结果是“本地”的; 你不想为此定义一个结构
  • 你可以使用tie功能来做一个非常有限的模式匹配形式“a la ML”,比起使用同一个目的的结构更加优雅。
  • 他们带有预定义的<运营商,这可以节省时间。
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档