LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

pop() должен возвращать по значению(то есть делать копию), ссылку он вернуть не может, поскольку выкинул обьект из коллекции и прибил его.

но возрат по значению неээфективен, а в случае игнора результата - получается лишний код копирования куда-то там внутри pop().

потому front() и pop() - это примитивные операции, эффективность которых максимальна. а вот из них уже можно нагородить свои функции. отнаследуйся от коллекции и городи.

Исходная версия alysnix, :

pop() должен возвращать по значению, ссылку он вернуть не может, поскольку выкинул обьект из коллекции и прибил его.

но возрат по значению неээфективен, а в случае игнора результата - получается лишний код копирования куда-то там внутри pop().

потому front() и pop() - это примитивные операции, эффективность которых максимальна. а вот из них уже можно нагородить свои функции. отнаследуйся от коллекции и городи.