LINUX.ORG.RU

История изменений

Исправление Ygor, (текущая версия) :

buff[fullsize];

выделение памяти на стёке.

return f((char**)buff);

Ссылка на эту память.

Вас ничего не смущает?

Да, тут memcpy, заполнение массива, но без копирования совсем не обойтись, строки по другому не совместить.

ИМХО тут х3 использованной памяти из-за преобразования char* в это ваше std::initializer_list<std::initializer_list<const char*>> strarr

Исходная версия Ygor, :

buff[fullsize];

выделение памяти на стёке.

return f((char**)buff);

Ссылка на эту память.

Вас ничего не смущает?

Да, тут memcpy, заполнение массива, но без копирования совсем не обойтись, строки по другому не совместить.

ИХО тут х3 использованной памяти из-за преобразования char* в это ваше std::initializer_list<std::initializer_list<const char*>> strarr