Вопросы по теме 'make-shared'
Проблема с созданием shared_ptr
Я новичок в умных указателях, и я нахожусь в процессе преодоления каждого камня преткновения.
У меня есть структура texture_t :
struct texture_t
{
hash32_t hash;
uint32_t width;
uint32_t height;
uint32_t handle;
};
Когда я...
540 просмотров
schedule
07.12.2022
std::make_shared(), std::weak_ptr и циклические ссылки
Мой вопрос касается этого утверждения:
Если какой-либо std::weak_ptr ссылается на управляющий блок, созданный std::make_shared после окончания времени существования всех общих владельцев, память, занимаемая T, сохраняется до тех пор, пока все...
567 просмотров
schedule
19.05.2022
Общие указатели, не увеличивающие use_count
Я пытаюсь понять, как использовать std::shared_ptr в С++. Но это довольно запутанно, и я не понимаю, как создать несколько общих указателей, указывающих на один и тот же объект. Даже документация и онлайн-материалы не очень ясны.
Ниже приведен...
1085 просмотров
schedule
19.07.2023
В каком смысле weak_ptr «владеет» shared_ptr?
Я пытался написать заголовок к этому вопросу около 10 минут, и, как вы увидите, в конце концов мне это не удалось. [Примечание редактора: кажется, я это исправил.]
Я читал блог Херба Саттера , и в теме используется std::make_shared, его минусы и...
204 просмотров
schedule
21.02.2023
Почему 'std::make_shared' всегда использует выделение глобальной памяти даже с перегруженными операторами new/delete класса?
При использовании std::make_shared<C> перегруженные операторы new/delete класса не вызываются.
При использовании std::shared_ptr<C> , std::unique_ptr<C> и std::make_unique<C> используются перегруженные операторы...
390 просмотров
schedule
12.12.2023
Как вызвать std::make_shared в случае аргументов initializer_list?
Я пытаюсь использовать std::make_shared для построения объекта в куче в моей программе вместо new , но когда конструктор объекта поставляется со списком инициализаторов, простая замена не работает, и мне приходится вручную указывать точный тип:...
49 просмотров
schedule
06.07.2023