ОК, в первую очередь, здесь важнее всего производительность, поэтому я сомневаюсь, что карта будет работать.У меня есть список структур (около 16 из них), таких как
struct A { ... };
struct B { ... };
...
каждая отличается и каждая имеет разные размеры.
Мне интересно, каким элегантным способом мы могли бы быть в состояниисделайте что-то вроде:
char BufferA[sizeof(struct A)];
char BufferB[sizeof(struct B)];
, затем напишите какой-нибудь метод или отображение для возврата BufferA, если вы работаете со структурой A. Скорость, безусловно, является наиболее важной, я думаю, использование шаблонов поможет, но яне уверен, что все это может быть шаблонизировано.
Обновление *** Извините за неясность, все буферы предварительно выделены.Мне просто нужен очень быстрый способ получить правильный Buffer с заданным типом структуры.
Обновление 2 *** Извините за отсутствие указания, выравнивание является важной особенностью, и я на самом деле выполняю байтовое выравнивание каждой структуры с#pragma pack (push, 1)