Я работаю с сетевым API, который возвращает список из 1 или более сообщений в буфер, который я ему предоставляю. Типичный буфер выглядит следующим образом: после возвращенияНедостаточный объем памяти
|B|message 1|S|message 2|S|message 3|E|
Где | B | - символ, указывающий начало, | S | является сепаратором, а | E | это конец. Сообщения могут иметь разную длину и номер. То, что я хотел бы сделать, это пройти этот буфер один раз и разделить его на его (в данном случае) 3 сообщения компонента и отправить что-то вроде std::unique_ptr<char*>
в код, который будет обрабатывать каждое отдельное сообщение, и пусть unique_ptr позаботится о выпуске Память. Но я бы хотел сделать это, не копируя эти сообщения из своего буфера и в более мелкие.
Есть ли способ, которым я могу эффективно использовать суб-распределение буфера в новые, меньшие блоки кучи и по-прежнему получать выгоду от автоматической очистки?
Поиск размещения новых. –