Well the problem is, the compiler released with the Arduino 1.5.4 beta release is still the 4.3.2 compiler that they've stuck with for years.
Hmmm, I've read that elsewhere. Does anyone know the particular reason they're sticking to a compiler version over 5 years old rather than the released, stable and fully C++11 compatible 4.8 compiler
So, unfortunately, you are stuck at C++98 (well you could populate your own system with the newer compiler, but you wouldn't be able to share your code with the majority of users).
I would expect that most of "beginner level" C++ would be common to C++11 AND older versions.
I didn't want to sound like I was getting ahead of myself, but I was trying to fix something from other (non-arduino) C examples, and I was getting errors like "
error: ‘for’ loop initial declaration used outside C99 mode
So, Arduino is not even C99, only C98?
Now, I can work around that one, but it got me looking around. Currently, my learning is from The C++ Programming Language: Third Edition by Bjarne Stoustrup
which I found free on a University's free open course material download.
I'm only on the first chapter, but I actually quite like the writing style. Then I discovered a new, current C++11 edition. £35 though!!
I also read several people answering the question "should I learn C before C++" with a resounding "no, pointless, jump right into C++".
Without me dragging this off-topic into a book/learning recommendation thread, and bearing in mind that the first thing I need to understand is classes, overloading etc just so I can make my OLED work with that new-liquidcrystal library, where would YOU start as a C++ beginner?