Escreva diretamente no char * buffer de std :: string

Então eu tenho umstd::string e tem uma função que levachar* e escreve nele. Desde astd::string::c_str() estd::string::data() Retornaconst char*, Eu não posso usá-los. Então, eu estava alocando um buffer temporário, chamando uma função com ele e copiando-o parastd::string.

Agora, planejo trabalhar com grande quantidade de informações e a cópia desse buffer terá um impacto notável e quero evitá-lo.

Algumas pessoas sugeriram usar&str.front() ou&str[0] mas invoca o comportamento indefinido?