Я пишу Entity Component System, основанную на руководстве по созданию игры, которой я следую.
В настоящее время функция добавления сущности класса "Entity" к вектору "entity" имеет вид:
Entity& addEntity() {
Entity* e = new Entity();
std::unique_ptr<Entity> uPtr{ e };
entities.emplace_back(std::move(uPtr));
return *e;
}
Код работает должным образом согласно учебнику. Тем не менее, я не уверен в фактическом синтаксисе Unique_ptr в строке:
std::unique_ptr<Entity> uPtr{ e };
Что на самом деле происходит внутри {} скобок? Насколько я понимаю, я назначаю свой уникальный указатель uPtr на значение указателя e? Я был бы очень признателен за объяснение синтаксиса unique_ptr, особенно с фигурными скобками.
Спасибо.