У меня есть класс foo
, с элементом bar
типа std::shared_ptr<int>
:
class foo
{
std::shared_ptr<int> bar;
/*other stuff here*/
};
В этом классе я хочу назначить new int
bar
. Но я не могу написать bar = new int();
, поскольку указатель не имеет оператора публичного присваивания.
Как мне это сделать? Я мог бы std::move
или std::swap
, но ни один из них не кажется правильным.