# New or not widely supported C++ features
1. Don't use C++ templates
2. Don't use C++ exceptions
3. Don't use RTTI
4. Don't use namespaces
5. Don't use STL
6. Don't declare variables inside for()
7. Don't use nested classes
Thats a joke or?
First, I use Templates and wxWidgets and it works. Not always perfectly,
but it saves me a lot of time. So, I prefer to have easier programming,
then following those, imho pretty old and mostly stupid advices.
Sure, you shouldn't use DECLARE_DYNAMIC and and other Macros then,
but it mostly works without them. Often you have to understand a bit more
about the background of the wxClasses, and then you can implement templates
for connecting things to gether etc. For Events I mostly use the Connect methods,
so I don't have a problem with macros.
To the rest:
2) Some libraries throw exception, not catching them isn't quite the concept.
Also std::exception is the Standard Exception class in C++.
3) RTTI is sometimes needed, if you want to know things at runtime.
I think even wxDynamicCast needs RTTI...
4) you should really use namespaces if you write a library or anykind of program that is a bit bigger then a calculator.
5) STL is a lot easier and better then the wxWidgets Containers, also boost builds on top of STL. Also STL is C++ Standard.
This simply means: Do not use the Standard, thats a bit more then stupid.
6) Will not really harm your programms.
7) Well, nested classes are sometimes useful when it comes to implementation details. (STL iterators f.e.)