元组与结构类似(在此讨论:Boost::Tuples vs Structs for return values)。似乎唯一的优点是编写struct更方便,因为它更短,而且是键而不是数字。
还可以使用融合地图和结构来通过键Boost::Tuples vs Structs for return values进行访问来模拟结构。这是更多的写作。
似乎在表现上也没有任何惩罚。好吧,融合可能会更快,因为它使用视图。
所以使用结构的唯一原因是你不想写几行代码并保持代码可读吗?
答案 0 :(得分:3)
所以使用结构的唯一原因是你不想写少数 更多代码行并保持代码可读?
此外,还有可扩展性/可维护性 - 在元组中放置/修改/删除任何其他位置参数将非常困难,但使用“键值”结构查找会很容易。
代码质量是性能,可读性,清晰度,可扩展性等的组合。忽略任何这些值将使您的代码变得更糟。这是一件坏事。
答案 1 :(得分:2)
结构可以是子类,可以包含方法,虚函数,枚举,typedef,子结构等。
元组只能代表struct
最简单的功能,即一组值。它甚至不能给它们正确的名称。他们是一个非常差的替代品。