【发布时间】:2013-11-08 10:55:16
【问题描述】:
我的印象是定义自己的结构总是更好,这样我就可以使用有意义的字段名称而不是first 和second。
标准使用std::pair 的一个地方是用于访问std::map 的元素。 first 是键,second 是值。拥有一个特定的key_value_pair 模板,并将其字段称为key 和value 而不是first 和second,不是更好吗?在我看来,它可以免费使代码更具可读性。
【问题讨论】:
-
但是有成本!更多代码。到处都是重复的错误。每次都略有不同的设计选择。如果只想存储两个值,
std::pair有什么问题?如果你有一个类型,有一些含义,还有一些成员函数,恰好有两个数据成员,很好,写你自己的class。但是对于一对对象,为什么不叫它pair呢? -
我发现了这个相关问题:stackoverflow.com/questions/2236182/…。这仍然不足以让我使用
std::pair。但我想这是个人品味的问题。 -
@Rémi:这个问题可以概括为
std::tuple。 -
另一个类似的问题:stackoverflow.com/questions/3607352/…。我仍然不相信 std::pair 可能有用的任何答案。
标签: c++ coding-style std-pair