c – 使用一个值为std :: shared_ptr的map是一个很好的设计选择,
发布时间:2020-12-16 03:35:05 所属栏目:百科 来源:网络整理
导读:问题很简单: 我们有一个有成员a,b,c,d的班级…… 我们希望能够通过提供a或b或c的当前值来快速搜索(key是一个成员的值)并用新值更新类列表… 我想过要一堆 的std ::地图 decltype(MyClass.a / * B,C,d * /),的shared_ptr MyClass的取代. 1)这是个好主意吗?
问题很简单:
我们有一个有成员a,b,c,d的班级…… 我们希望能够通过提供a或b或c的当前值来快速搜索(key是一个成员的值)并用新值更新类列表… 我想过要一堆 的std ::地图< decltype(MyClass.a / * B,C,d * /),的shared_ptr< MyClass的>取代. 1)这是个好主意吗? 2)boost multi index在各方面都优于这个手工解决方案吗? 出于简单/性能原因,PS SQL是不可能的. 解决方法
> Boost MultiIndex可能有一个明显的缺点,它会在集合的每次突变后尝试使所有指数保持最新.
如果您有一个包含许多单独写入的数据加载阶段,这可能会造成很大的性能损失. > Boost Multi Index的使用模式可能不符合项目(成员)的编码风格(和品味……).这应该是一个小缺点,但我想我会提到它 >正如ildjarn所提到的,Boost MI尚不支持移动语义 否则,我认为Boost MultiIndex在大多数情况下都是优越的,因为你不太可能达到它收到的测试数量. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |