Винда же стандартам не следует (типа мы сами себе стандарт) и не имеет совместимости с POSIX
RXL, Кстати, да. До выхода стандарта ISO на С++ в 2003м, в котором детально описана STL как часть стандарта, похоже, в Microsoft успели именно из таких соображений несколько странно реализовать эту библиотеку. В результате при портировании проекта, выполненного в VS 2003, на Linux, проявились чудеса с несовместимостью использования некоторых функций (кажется, erase для std::map и ещё некоторые), поскольку по стандарту операция должна возвращать, скажем, void, а у MS возвращала итератор (и это использовалось в коде). Так что осторожнее с STL от MS, оно тоже может отличаться не совсем стандартным поведением