Question

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.

Was it helpful?

Solution

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top