C ++ слабая производительность создания

Я читал, что создание или копирование std :: shared_ptr влечет за собой некоторые накладные расходы (атомарный прирост счетчика ссылок и т. Д.).

Но как насчет создания из него std :: weak_ptr:

Obj * obj = new Obj();
// fast
Obj * o = obj;
// slow
std::shared_ptr<Obj> a(o);
// slow
std::shared_ptr<Obj> b(a);
// slow ?
std::weak_ptr<Obj> c(b);

Я надеялся на некоторую более быструю производительность, но я знаю, что общий указатель все еще должен увеличивать счетчик слабых ссылок. Так это все еще так же медленно, как копирование shared_ptr в другой?

Ответы на вопрос(2)

Ваш ответ на вопрос