В C ++ 11 std::vector
вы можете создавать элементы на месте с помощью emplace_back
:
std::vector mycars;
for (int i = 0; i < userInput; ++i)
{
mycars.emplace_back(i + 1); // pass in Car() constructor arguments
}
Voila!
Автомобиль () никогда не вызывается.
Удаление происходит автоматически, когда mycars
выходит за рамки.