Название: Для чего используется QT_BEGIN_NAMESPACE Отправлено: dr_Begemot от Август 19, 2009, 10:09 Для чего используется конструкция QT_BEGIN_NAMESPACE - QT_END_NAMESPACE?
Например: QT_BEGIN_NAMESPACE class QVBoxLayout; QT_END_NAMESPACE Что это дает? P.s. Пожалуйста, не отсылайте к докам, тут вроде не сложный момент и объяснение не займет много строчек. Спасибо) Название: Re: Для чего используется QT_BEGIN_NAMESPACE Отправлено: Rcus от Август 19, 2009, 10:35 ./configure --help
Цитировать -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'. Название: Re: Для чего используется QT_BEGIN_NAMESPACE Отправлено: dr_Begemot от Август 19, 2009, 11:00 ./configure --help Цитировать -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'. Гм... и? Название: Re: Для чего используется QT_BEGIN_NAMESPACE Отправлено: Авварон от Август 19, 2009, 11:01 при компиляции заменит эти макросы на неймспейс, указанный при сборке Qt я так понял...
Название: Re: Для чего используется QT_BEGIN_NAMESPACE Отправлено: dr_Begemot от Август 19, 2009, 11:16 при компиляции заменит эти макросы на неймспейс, указанный при сборке Qt я так понял... А зачем это нужно? Название: Re: Для чего используется QT_BEGIN_NAMESPACE Отправлено: ритт от Август 19, 2009, 11:20 http://en.wikipedia.org/wiki/Namespace_(programming)
Название: Re: Для чего используется QT_BEGIN_NAMESPACE Отправлено: Rcus от Август 19, 2009, 11:23 Так же как и с no_keywords если вы спрашиваете значит вам не нужно. А некоторым помогает избежать коллизии символов при компоновке.
Название: Re: Для чего используется QT_BEGIN_NAMESPACE Отправлено: UVV от Август 19, 2009, 12:34 http://www.qtcentre.org/forum/f-qt-programming-2/t-whats-effect-of-qt-begin-namespace-thanks-15946.html
Название: Зачем нужен QT_BEGIN_NAMESPACE? Отправлено: evgeniy от Июнь 06, 2011, 10:39 В примере от Qt есть такое:
QT_BEGIN_NAMESPACE class QAction; class QDialogButtonBox; class QGroupBox; class QLabel; class QLineEdit; class QMenu; class QMenuBar; class QPushButton; class QTextEdit; QT_END_NAMESPACE Почему вместо этого не поставить просто #include <QtGui>? Название: Re: Для чего используется QT_BEGIN_NAMESPACE Отправлено: Alex Custov от Июнь 08, 2011, 01:08 это нужно для того, чтобы поместить всё Qt в один namespace, что в свою очередь нужно для того, чтобы была возможность использования разных версий Qt в одном проекте, либо из-за конфликта имён/хотелок разработчика.
Название: Re: Зачем нужен QT_BEGIN_NAMESPACE? Отправлено: Alex Custov от Июнь 08, 2011, 01:13 В примере от Qt есть такое: ... Почему вместо этого не поставить просто #include <QtGui>? Потому что QtGui включит весь модуль Gui, и если у тебя это написано в заголовочном файле, то все TU (http://www.efnetcpp.org/wiki/Translation_unit), которые включают этот заголовок, будут включать и GtGui, и как следствие, возрастёт время компиляции на пустом месте. Вместо этого используют forward declaration, а в каждом конкретном TU дополнительно подключаются уже те заголовки, которые нужны - <QAction>, <QLabel> и т.д. Название: Re: Для чего используется QT_BEGIN_NAMESPACE Отправлено: evgeniy от Июнь 21, 2011, 11:04 Ну, вроде понятно. Спасибо.
|