你会如何很好地表示字节数组及其大小?我想存储(在主存储器或文件中)原始字节数组(无符号字符),其中前2/4字节将表示其大小.但是对这种阵列的操作看起来不太好:
void func(unsigned char *bytearray)
{
int size;
memcpy(&size, bytearray, sizeof(int));
//rest of operation when we know bytearray size
}
Run Code Online (Sandbox Code Playgroud)
我怎么能避免这种情况?我想一个简单的结构:
struct bytearray
{
int size;
unsigned char *data;
};
bytearray *b = reinterpret_cast<bytearray*>(new unsigned char[10]);
b->data = reinterpret_cast<unsigned char*>(&(b->size) + 1);
Run Code Online (Sandbox Code Playgroud)
我可以访问bytearray的大小和数据部分.但它看起来仍然很难看.你能推荐另一种方法吗?
归档时间: |
|
查看次数: |
810 次 |
最近记录: |