Вы не выделяете там никакой памяти, поэтому нет утечки памяти. Вы просто копируете указатель на существующую строку в исполняемом образе, а не на саму строку.
По этой причине тип data
должен быть const char*
, чтобы предотвратить случайное изменение строки, на которую указывает data
.
data
сам по себе, указатель, размещается в стеке, как было бы i
в int i = 5;
. Этот вид неявного распределения также автоматически отменяется.