
My experience, mostly from reading the documentation, is that there are no GOOD cross-platform C++ GUI libraries out there.
I agree. You point out two major failing of most C++ frameworks: lack of modern C++ use and lack of exception safety. I see the rest of this thread talking a lot about C++ techniques, but there seems to be one major component that everyone is overlooking: producing a good user experience.
Perhaps as a Mac developer I am more aware to the importance of a good user experience; one of the major failings of every cross-platform C++ framework on Mac OS is a poor user experience -- usually due to reinventing OS-provided UI wheels, and thus often making the UI subtly inconsistent with the rest of the OS. This kind of subtle (or less subtle) inconsistency is what makes users (entirely justifiably) bitch and moan and shoddy ports, and give bad product reviews.
umm... which part of "cross-platform" and "use native functionality" is more important? If you have some functionality provided by one OS, while another doesn't provide it... what do you do? MacOS is a hard creature to make apps portable to - as its UI is significantly different to most other OS's, that making a cross-platform library which appears to work as a native OSX app is hard, real hard. Take Mozilla/Firefox/OpenOffice - each of these suffers the "not quite OS integrated, compared with native apps", even though these apps are propably some of the highest profile cross-platform applications. Mathew