Most C++ features seem to be supported, with the following caveats:
-
I have not tried using templates yet.
-
Exceptions are disabled... i.e. no "throw" or "catch" statements will work.
-
I had a weird linker problem once trying to use pure virtual class methods. It was easy to work around by replacing the pure virtual method with a do-nothing virtual method: the sketch linked successfully and the virtual methods were overridden properly at run-time. See the following for more on this topic:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1167672075