Для работы ввода-вывода мне нужно прочитать N байтов в буфер. N известно во время выполнения (не время компиляции). Размер буфера никогда не изменится. Буфер передается другим подпрограммам для сжатия, шифрования и т.д.: Это просто последовательность байтов, не более того.
В C я бы выделил буфер с malloc
, а затем free
, когда закончите. Тем не менее, мой код - это современный С++, конечно, не malloc
, и очень мало raw new
и delete
: я сильно использую RAII и shared_ptr
. Однако ни один из этих методов не подходит для этого буфера. Это просто буфер с фиксированной длиной байтов, чтобы получать ввод-вывод и сделать его содержимое доступным.
Есть ли в этом элегантном стиле С++? Или, для этого аспекта, я должен просто придерживаться хорошего ol malloc
?