Например, у меня есть некоторая функция pet_maker()
, которая создает и возвращает Cat
или Dog
в качестве базы Pet
. Я хочу многократно вызывать эту функцию и делать что-то с возвращенным Pet
.
Традиционно я бы new
Cat
или Dog
в pet_maker()
и возвращал указатель на него, однако вызов new
намного медленнее, чем выполнение всего в стеке.
Есть ли опрятный способ, который любой может подумать о возврате как абстракции, без необходимости делать новое при каждом вызове функции, или есть какой-то другой способ, который я могу быстро создать и вернуть абстракции?