Per specificare che la stringa in questione, pur essendo passata per riferimento (=>la funzione di fatto opera sull'oggetto che le è stato effettivamente passato, non su una sua copia), non verrà modificata. Il compilatore infatti, quando si lavora su oggetti const, consente solo di leggerne i campi (non di modificarli) e di richiamare i loro metodi const. Un metodo const infatti non può modificare l'oggetto in alcun modo, poiché può solo leggere i campi e richiamare altri metodi const.
Insomma, quando si usa quella notazione si vuole di fatto farsi passare l'oggetto via reference per evitarne la copia (e la perdita di tempo che essa comporta), segnalando al contempo che l'oggetto non verrà modificato, esattamente come se ne venisse passata una copia.