1

元组类似于结构(这里讨论:Boost::Tuples vs Structs for return values)。似乎唯一的优点是编写 struct 更方便,因为它更短且通过键而不是数字。

还可以使用 fusion map 和 structs 通过键Boost::Tuples vs Structs 访问返回值来模拟结构。这是一个多一点的写作。

似乎也没有性能损失。好吧,融合可能会更快,因为它使用视图。

所以使用结构的唯一原因是如果您不想再编写几行代码并保持代码可读性?

4

2 回答 2

3

所以使用结构的唯一原因是如果您不想再编写几行代码并保持代码可读性?

此外,还有可扩展性/可维护性 - 在元组中放置/修改/删除任何额外的位置参数将非常困难,但是使用“键值”结构查找非常容易。

代码质量是性能、可读性、清晰性、可扩展性等的组合。忽略任何这些值都会使您的代码变得更糟。这是一件坏事。

于 2013-01-12T00:11:18.020 回答
2

结构可以被子类化,并且可以包含方法、虚函数、枚举、typedef、子结构等。

元组只能表示 的最微不足道的功能struct,即值的集合。它甚至不能给他们正确的名字。他们是一个非常糟糕的替代品。

于 2013-01-12T01:37:30.540 回答