The people you talk to confuse a few different questions. C ++ 11 is not portable today. I do not think that the compiler supports it 100% (although I may be wrong); you can avoid using large parts if (and only if) you restrict yourself to the latest compilers on two or three platforms (Windows and Linux, and probably Apple). Although these are the most visible platforms, they represent a small part of all machines. (If you're working on large-scale networking applications, Solaris is likely to be important, and Sun CC. If the Sun hadn't changed since the last time I worked on it, it means there are even parts of C ++ 03, which you cannot count on.)
STL is a completely different issue. This partly depends on what you mean by STL, but certainly there is no portability problem today when using std::vector . locale can be problematic for very few compilers (this was with Sun CC - with the Rogue Wave and Stlport library), and some of the algorithms, but, for the most part, you can almost everything in C ++ 03.
And in the end, what are the alternatives? If you don't have std::vector , you end up implementing something pretty much like it. If you really care about the presence of std::vector , wrap it in your own class. If this is not the case (it is unlikely if you do not return the car with time), just redefine it, exactly the same as in before standard days.
James kanze
source share