Библиотека Loki реализует некоторые очень широко используемые понятия (интеллектуальный указатель, посетитель, фабрика, и т.д.). Связанная книга "современный Дизайн C++" часто упоминается, но самой библиотекой широко не пользуются. Почему это?
Большинство разработчиков, кажется, предпочитает Повышение. В частности, почему люди часто решают использовать интеллектуальные указатели Повышения, а не Loki?
Локи занимается исследованиями / проверкой концепции. Александреску продвигает новые идеи, другие люди перенимают их в реальном мире. Также boost :: shared_ptr
почти буквально находится в TR1.
Если говорить от имени человека, который немного использовал библиотеку Boost, а также не раз смотрел на Локи, то самой большой проблемой была скудность документации. Кроме того, Локи использует некоторые из самых сложных шаблонов C ++. Захватывающий, но довольно пугающий материал.
Однажды я использовал Локи в качестве небольшого инструмента (в основном, интерпретатора), и он мне действительно понравился. Мои коллеги были не в восторге от библиотеки, поэтому ее использование ограничивалось этим небольшим подпроектом.
На самом деле я предпочитаю способ работы Локи, и я сам внес в Локи шаблон Decorator, который теперь находится в трекере, потому что проект, насколько мне известно , больше не поддерживается .
Я использую boost shared_pointer только потому, что очень скоро он станет стандартом. Мне может не понравиться тот факт, что я не могу настроить его так, чтобы он действовал именно так, как я хочу, но я должен жить с Это.
Использование стандартной библиотеки важно, поскольку она позволяет поддерживать код другими программистами. Если это открытый исходный код и вы хотите поэкспериментировать, используйте Loki. Тебе никто не мешает.
На самом деле Windows Vista использует некоторые функции Loki.
Я предполагаю, что они не используют избыточные реализации интеллектуальных указателей и посетителей.
Вы хотите использовать библиотеку, которую должен знать следующий программист и которая будет хорошо поддерживаться в будущем, поэтому вы выбираете основную библиотеку. . Поскольку это основная библиотека, многие люди ее используют, поэтому она становится выбором по умолчанию.