STL jest standardowo dolaczany do wiekszosci kompilatorow. Jednak niektore implementacje nadal pozostawiaja wiele do zyczenia i STL STLowi nie rowny. Wiele rzeczy w STLu nadal nie jest ustandaryzowanych.
Do programow wieloplatformowych zalecalbym korzystanie jedynie z pewnego podzbioru klas, ktory w praktyce okazuje sie dostatecznie przenosny: string, list, map, vector. Strumienie tylko, jak ktos bardzo lubi. Odradzam sstream, slist (mocno nacialem sie), valarray, splice i inne bajery. Ze stringami w aplikacjach wielowatkowych tez bywaja problemy. Jesli implementacja string jest COW*, to albo operacje na string zostana spowolnione kilkakrotnie**, albo (jesli mamy lamerska implementacje - nie spotkalem, ale obilo mi sie o uszy, ze w jakis malo znanych kompilatorach takie tez sa) aplikacja bedzie sie sypac.
Implementacja STL w gcc >= 3.3 jest o.k.
W VC++ 6 sa pewne braki (brakuje niektorych klas, kompilator rzuca tez dziwne warningi) W VC++ 7 - nie wiem.
W BCB >= 6 jest o.k (nie spotkalem sie z zadnymi bledami).
Borland C++ 5.5. - ktos mi donosil o problemach z niekompatybilnoscia nazw plikow naglowkowych, ale moze to plota.
*COW = copy-on-write
- W Delphi jest ten problem z klasa TString.