размер высчитывать заранее?
ты про что именно, конкретнее, если можно
Два подхода: 1) функция выделяет буфер сама. При этом предоставляется интерфейс для освобождения буфера. 2) в качестве буфера передается nullptr (остальные параметры неизменны), а функция в этом случае возвращает нужный размер. Далее производится выделение памяти и повторный вызов функции, но уже с нужным буфером
у меня есть ещё один наркоманский способ, вместо указателя на буфер и размера, передавать указатель на функцию и void*, функция является аллокатором, которая принимает void* (тот что передавали вместе с указателем на функцию) и размер буфера который требуется, возвращает указатель на буфер, и работает как realloc (кроме разве что первого раза)
кажется это называется "передать вектор"
возможно, только в стиле си
ещё это можно назвать и передачей стринга
Обсуждают сегодня