Эффективное использование STL и шаблонов
Категория реферата: Рефераты по информатике, программированию
Теги реферата: рефераты по политологии, шпаргалки по математике юридические рефераты
Добавил(а) на сайт: Jezrin.
Предыдущая страница реферата | 3 4 5 6 7 8 9 10 11 12 13
Нет операций создания и удаления объектов с помощью операторов new и delete.
Нет никаких требований к классам состояний и событий (кроме возможности их сравнения).
Недостатки:
Много операций копирования при создании автомата. Однако этот недостаток отчасти компенсируется тем, что обычно автомат создается один раз, а используется многократно.
Надо писать две директивы препроцессора или использовать длинный префикс. Однако это лишь проблема набивки текста.
Лично я готов мириться с этим коротким списком недостатков ради полученных преимуществ.
Возможные пути усовершенствования шаблона
Внимательный читатель заметит, что можно увеличить гибкость и повысить производительность шаблона. В следующем списке перечислены улучшения, лежащие на поверхности:
Можно отказаться от промежуточного класса SFiniteStateMachineProxy. Это позволит сэкономить на копированиях, но внесет потенциальную возможность неправильного использования шаблона.
Можно ввести манипуляторы, которые позволят в явном виде при описании переходов указывать такие, которые надо игнорировать, или генерировать исключение при их появлении.
Потоковая безопасность
В шаблоне используются контейнеры STL, операции с которыми в многопоточной среде могут привести к проблемам. Поскольку при проектировании шаблона ставилась цель разработать независимое от платформы решение, то никаких средств синхронизации в шаблоне нет. Наличие средств синхронизации, как известно, в зависимости от ситуации может быть как достоинством, так и недостатком. Если они не нужны, их наличие только породит дополнительные накладные расходы. Добавить же средства синхронизации в шаблон опытному разработчику не составит труда.
Список литературы
C/C++ User’s Journal, May 2000
Booch G., Rumbaugh J., Jacobson I. The Unified Modeling Language User Guide. Addison-Wesley, 2001
Meyers S. Effective STL. Addison-Wesley, 2001
Alexandrescu A. Modern C++ Design. Addison-Wesley, 2002
Lewis P., Rosenkrantz D., Stearns R. Compiler Design Theory. Addison-Wesley, 1976
Schildt H. С/С++ Programmer’s Reference. Second Edition. Williams, 2000
Meyers S. Effective C++. Second Edition. Addison-Wesley, 1998 and More Effective C++. Addison-Wesley, 1996
Sutter G. Exceptional C++. Addison-Wesley, 2002
Скачали данный реферат: Kotenko, Корней, Муханов, Арсения, Krajnev, Polovov, Starkov.
Последние просмотренные рефераты на тему: реферат влияние, темы рефератов по физике, тема здоровый образ жизни реферат, социальная работа реферат.
Предыдущая страница реферата | 3 4 5 6 7 8 9 10 11 12 13