, Поскольку я отправил по другому вопросу, Daitch-Mokotoff лучше для нас европейцы (и я обсудил бы США).
я также считал Wiki на Levenshtein. Но я не вижу, почему (в реальной жизни) это лучше для пользователя, чем Soundex.
Qt - это фреймворк, а не библиотека. Это не жесткое различие, проводимое языком программирования, скорее, оно описывает, как код разработан и предназначен для использования:
Библиотека - это чужой код, который используется по вашему коду. Использование библиотеки означает, что ваше приложение остается без изменений, просто у него есть другая библиотека, которая ему помогает.
Фреймворк - это кто-то другой » код, в который вписывается ваш код. Использование фреймворка означает, что фреймворк определяет структуру вашего приложения.
Если вы используете фреймворк, вам необходимо изучить соглашения этого фреймворка, которые могут немного отличаться от базового языка; в противном случае вы можете потратить много времени на борьбу с фреймворком и упустите кое-что из того, что он может предложить.
Qt, в частности, не похож на обычный ванильный C ++, потому что это не просто ванильный C ++. Он добавляет (ограниченные) расширения к объектной системе C ++, чтобы разрешить такие функции, как сигналы и слоты; эти расширения реализованы с использованием Qt moc, который действует как препроцессор C ++. Для получения дополнительной информации о расширениях Qt для C ++:
Большинство фреймворков / библиотек графического интерфейса добавляют к языку только потому, что C ++ не поддерживает (или не поддерживал до недавнего времени) изначально те события, которые необходимы для графического интерфейса.
Qt предпочитает делать это с расширениями языка и прекомпилятором, MFC и wxWidgets делают это с помощью макросов c и препроцессора c. Подход Qt означает, что он может делать больше (он не ограничивается макроязыком cpp) за счет немного более сложной среды сборки.
Qt - это набор библиотек C ++ вместе с препроцессором и частью системы сборки.