Для программирования GUI на C ++ мы можем выбирать между слишком большим количеством библиотек, таких как Qt, Gtkmm, WxWidgets, FLTK и есть еще один, который уже существует: Nana.
Библиотека Nana C ++ использует современные возможности языка C ++ (C ++ 11), такие как лямбда-выражения, шаблоны и т. Д., И, похоже, она совместима со стандартной библиотекой C ++.
Если библиотека GUI на 100% совместима со стандартной библиотекой C ++, то почему у нас не может быть ее для следующего стандарта C ++ (C ++ 14 или C ++ 17)?
Какие условия необходимы для того, чтобы библиотека находилась в стандартной библиотеке C ++? если условия не определены, то мы обречены навсегда оказаться в черной дыре текста, и это повредит вашему сердцу! В противном случае, если условия определены, то где я могу запросить библиотеку в следующем стандарте C ++?
Бьярне Страуструп имеет уже ответил этот вопрос:
C ++ имеет много коммерческих и открытых графических интерфейсов (например, Gtkmm, SmartWin ++,
V C ++ GUI, FLTK и Qt). В частности, каждый поставщик платформы
предоставляет библиотеку C ++ для доступа к их GUI. Проблема в том, что это
не имеет стандартного графического интерфейса, и это действительно серьезная проблема. Заметка
что предоставление графического интерфейса является технической и политической проблемой. Там
много графических интерфейсов с большим количеством пользователей, и, как правило, им не понравится
какой-то другой графический интерфейс должен быть объявлен стандартным. Во всяком случае, стандарты
Комитет не имеет ресурсов для создания нового и лучшего графического интерфейса.
Как бы вы нарисовали кнопку на кардиостимуляторе?
Вы должны были сказать:
или программирование GUI под Windows или Linux в C ++ мы можем выбрать
между слишком многими библиотеками, такими как Qt, Gtkmm, wxWidgets, FLTK и
есть еще один, который уже существует: Нана.
C ++ не зависит от операционной системы. Представьте, как такая библиотека будет поддерживаться на платформе, у которой вообще нет графического интерфейса. Как микроконтроллер или какой-то встроенный аппаратный элемент.
Никогда не говори никогда, но я бы никогда не ожидал, что библиотека с графическим интерфейсом, подобная той, которую ты упомянул, будет добавлена в стандарт C ++.
Если библиотека GUI на 100% совместима со стандартной библиотекой C ++, то
почему мы не можем получить его для следующего стандарта C ++ (C ++ 14 или C ++ 17)?
Потому что эти библиотеки GUI также используют специфичные для платформы и ОС функции, чтобы делать то, что они делают.