我试图让我的头围绕元组(感谢@litb),他们使用的常见建议是返回> 1值的函数.
这是我通常使用结构的东西,在这种情况下我无法理解元组的优点 - 对于最终的懒惰来说,这似乎是一种容易出错的方法.
借用一个例子,我会用它
struct divide_result {
int quotient;
int remainder;
};
Run Code Online (Sandbox Code Playgroud)
使用元组,你会有
typedef boost::tuple<int, int> divide_result;
Run Code Online (Sandbox Code Playgroud)
但是如果你没有阅读你正在调用的函数的代码(或者评论,如果你足够愚蠢地信任它们),你就不知道哪个int是商,反之亦然.看起来很像......
struct divide_result {
int results[2]; // 0 is quotient, 1 is remainder, I think
};
Run Code Online (Sandbox Code Playgroud)
......这不会让我满怀信心.
那么,什么是元组在该补偿的模糊性结构的优势是什么?