3

在考虑我的代码关于一对一关系的设计决策时,我开始考虑是否应该使用std::vector<std::pair<T1, T2>>而不是std::map<T1, T2>,并自己实现两种方法 A 到 B 和 B 到 A。

我不能使用 boost,所以我找到的这个问题的答案(STL 术语中的一对一关系)并不合适。

是否有一些 STL 等价物做这项工作?或者你认为向量是一个坏主意?结构(< 10)中不会有很多条目,但会有很多访问权限。

4

1 回答 1

0

我认为在你的情况下,你可以尝试std::unordered_map<T1,T2>std::unordered_map<T2,T1>. 通过使用两个 unordered_map,您可以在 O(1) 时间内完成 A2B 和 B2A,这比 map 或 vector 更快。

于 2019-01-28T10:56:39.420 回答