Code:
[Select]STL is the standard library correct? I understand that classes are implemented on the STL? "Classes" are a language feature, and are supported by avr-g++ and AS.
The STL is a set of *Standardized* classes implemented on top of the language itself. The usual STL makes heavy use of dynamic allocation (frequently not a good idea on small-RAM microcontrollers) and exception trapping (not implemented, perhaps not implementable, for AVR), so it's NOT present.
The most obvious example is "Strings" - the STL (or is String considered part of libstdc++, rather than STL) implementation of Strings will let you do things like "S += 'a';" that will go and say "There isn't enough space in S to add another character, so I'll go realloc a new copy of S that has a bunch more space." So ... avr-g++ does not support Standard C++ Strings. But it supports enough that you can write your OWN C++ class to handle strings...