Предположим, данные хранятся в символьном буфере в формате ниже
===========================================================================
|length| message1| length| message2| length| message3|...|length |messagen|
===========================================================================
Длина - указывает размер следующего сообщения
Из этого символьного буфера, предположим, что только message2 является нежелательным, а остальныевсе релевантны, насколько эффективно, message2 может быть удалено, так что остальные данные в буфере могут быть использованы успешно?
Я наткнулся на алгоритм на месте, где мы можем перемещать сообщения в самом буфере безлюбая дополнительная копия
Но при этом также возникают накладные расходы по смещению (n-2) сообщений, поскольку message2 не имеет значения
Есть ли какой-нибудь лучший подход / решение для этого в c ++?
Позвольте мне добавить более подробную информацию. Требование заключается в том, чтобы удалить / отфильтровать нерелевантные данные из буфера и затем передать их в качестве входных данных другой функции для дальнейшей обработки.
нерелевантные данные могут поступать в любую позицию.в символьном буфере.Просто например, упоминается как сообщение 2