3 ms·
Except for the fact that Qt is not as cross-platform as the standard C++ library. Qt also uses non-C++ features such as signals/slots which require usage of the
by qompiler 14y ago
Except for the fact that Qt is not as cross-platform as the standard C++ library. Qt also uses non-C++ features such as signals/slots which require usage of their own Meta Object Compiler.
- nicholassmith 14y agoYou can do stock C++ work in the Qt IDE, it's perfectly happy doing it.
- mpyne 14y agoQt's moc is a preprocessor/code-generator which compiles to standard C++. Do you also tell people that they shouldn't use flex/lex/bison/yacc/antlr/etc.? Why are those code generators/DSLs acceptable but the moc is not? It's not as if the Qt authors added it because they don't understand C++, they added it because it solves a vexing problem in C++ GUI design.
- qompiler 14y agoI would have agreed with you if Qt used something like the #pragma directive. Alas, they decided to inject keywords inside of the standard language which breaks every C++ compiler.
- mpyne 14y agothen... turn off the keywords? Every Qt "keyword" you talk about can be disabled with a fallback to namespaced macros. foreach -> Q_FOREACH slots: -> Q_SLOTS etc.