When one thread manages an std::map adding and removing things, may another thread safely call size() on the map?

Since there are no iterators involved, invalidation is not an issue.

In this case, I suppose the map is always alive. No object-destruction-at-a-bad-moment issues.

有帮助吗?

解决方案

No. Size may involve traversal as it is not guaranteed to be O(1).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top