Qraizer: Зависит от реализации. std::basic_string<> тоже далеко не во всех случаях использует хип. Простые – а замыканиями обычно таковые и являются, ибо помимо самого замыкаемого объекта других состояний не хранят – будут себе спокойно лежать на стеке.