我正在应用程序中记录一些统计信息。统计数据之一是BigDataStructure的大小。我有两个选择:
每次递减计数器
从中添加/删除
BigDataStructure。
在BigDataStructure中,设置
与BigDataStructure.size()相对。
以一种或另一种方式进行操作是否有很好的论据?我自己增加/减少计数器可以避免调用BigDataStructure.size()。它也不直接涉及赋值运算符(尽管也许是在幕后?)
给定这两种选择,哪一种更可取?
最佳答案
.size()可能是这2个选项中不太容易出错的原因,因为它是idempotent。如果您想了解线程/同步问题,请在这里使用.size()更安全。
此外,今天您只有1个添加条目的位置和1个删除条目的位置。但是也许将来不会如此。
关于c++ - 增/减与分配?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/757698/