Операция s = c + s
создаст временный объект, вероятно, динамически распределяющий память в куче. Выполните требуемую операцию добавления, а затем скопируйте ее обратно в строковую переменную. Больше операций и операций с памятью.
Операции с памятью, такие как выделение и удаление памяти, являются дорогостоящими.
Вставка перераспределяет память, только если для строки недостаточно непрерывной памяти. В худшем случае это все равно будет соответствовать s = c + s
подходу.
Хотя это не является большой проблемой для производительности (учитывая худший случай), она более элегантна и проста для понимания с точки зрения программистов.