C++11 in Qt5: Challanges and Solutions
Qt5, the next major release of the well-known Qt Framework, is scheduled to be released later this year. As a C++ framework, its development is of course heavily influenced by C++11, the newly-minted version of the C++ Language, finalised last year, and slowly becoming available in all major compilers.
As Qt5 is a relatively moderate improvement over Qt4, source-compatibility as well as the wish for maximum platform independence stood in the way of relying on new C++11 features, even where they would considerably ease the implementation of Qt. Therefore, Qt5 will still support pre-C++11 compilers.On the other hand, many C++11 features promise more efficient or safer execution than their C++03 equivalents (if any), so Qt5 also aims to support as many C++11 features as possible when used with a modern compiler.
This talk presents the challenges of targeting a large C++ class library at C++11 and C++03 simultaneously, as well as the solutions that work for Qt. The presentation aims to provide hands-on guidelines for C++ developers which are faced with porting their libraries and applications to C++11 while maintaining compatibility with C++03 compilers, ie. all of us.