@Iron Bug @nprofile1q... я для своих проектов решил просто исключить использование STL. Почти всё, что там есть можно реализовать без него, а что нельзя (вроде initializer list) - обычно сомнительные и непортабельные фичи. Но даже если использовать STL - то он ни в коем случае не должен появляться в каких-то интерфейсах и API, потому что сам стандарт делается без учёта переносимости и реализация даже какими-то костылями не может это вправить. Самое банальное - собираем 2 объектника с разными версиями стандартов и у интерфейсных методов вылазят разные сигнатуры - они больше не линкуются. И сколько раз уже это происходило после обновления gcc, что кто-то передал в аргументах std::string и он поменял сигнатуру.