我有以下几点:struct B { std::map<int, C> c; };我想在fora[i].b[j].c.emplace(k, <args to constructor of C>);
这是不是很低效?对a[i]和b[j]的调用中的A和B对象会被就地构造吗?答案取决于a[i]和b[j]在insert和assign中产生<e
我有一个std::map,关键是std::shared_ptr<Foo>,值是std::unique_ptr<Bar>,其中Foo和Bar与第三方库非常不同。我正在使用这个std::map对象作为内存缓存。== _cache.end()) Bar bar = ThirdPartLibrary::CreateBar();
_cache.emplace<std::shared_ptr<Foo>, std::unique