Используя необработанные указатели, я могу создать вектор указателей и адресов push_back следующим образом:
Entity objEntity;
std::vector<Entity*> Entities;
Entities.push_back(&objEntity);
Если вместо этого я использую вектор общих указателей:
std::vector<std::shared_ptr<Entity>> Entities;
... как я могу отправить обратно адреса?
Насколько я понимаю, std :: shared_ptr :: reset используется для назначения адреса существующего объекта интеллектуальному указателю. Нужно ли сначала создать временный указатель, сбросить вызов, а затем push_back?
std::shared_ptr<Entity> temp;
temp.reset(&objEntity);
Entities.push_back(temp);