Уважаемые, стоИт цель создать класс (или иерархию классов), представляющий из себя, скажем так, структуру переменной длины... А конкретнее, представить сетевой пакет объектом. Чтобы можно было передавать указатель на этот объект в функции, как массив байт... Проблема как раз в том, что пакеты в общем случае разной длины, скажем поле данных различно по длине всегда.
В голову приходит только одно решение: помимо полей заголовка (стандартных) завести в классе указатель и выделять требуемое количество памяти непосредственно под данные (соответственно указатель будет указывать (тафтология, сорри) на выделенный массив; и добавить переменную, хранящую длину данных. И переопределить в классе операцию приведения к типу "указатель на массив байт". Причем для этого придется сделать статическую переменную класса - указатель на массив, а внутри операции приведения типа выделять память под пакет и конструировать пакет так, как он должен выглядеть при передаче. Т.е. на самом деле организовать это все дело по типу некоторых функций сокетов, которые возвращают, скажем, строки в собственном буфере библиотеки, и хранятся эти данные гарантированно только до следующего вызова функции сокетов.
Чувствую, что это извратный метод, однако ничего другого в голову не приходит...
Может кто-нибудь делал что-нить подобное?
И еще один вопрос: статические члены класса уникальны в пределах одной программы? Или потока?
Заранее спасибо