Здравствуйте, theCreature, Вы писали:
C>Т.к. классов команд несколько, приходится хранить в очереди не сами объекты, а указатели на них. CommandExecutor после выборки команды из очереди и ее исполнения просто уничтожает соответствующий объект. Ну а теперь собственно сам вопрос: как лучше решается такая проблема? Исключительно комментированием условий использования или все же можно сделать реализацию поизящнее?
Я обычно методы принимающие владение оформляю так:
void TakeOwnership(std::auto_ptr<T> object); // Принимает владение
Эстафетное владение auto_ptr здесь очень кстати.