【发布时间】:2012-03-22 01:49:37
【问题描述】:
我需要得到一个对象的位。换句话说,我想将一个对象视为原始数据并提取它的 0 和 1 位。我该怎么做?
例如,我有一个名为 vec 的用户定义类型的向量,如下所示,
std::vector<NodeEntry *> vec;
vec 指向一个对象。该对象位于内存中,由 0 位和 1 位组成。如何提取此对象的比特流(0 和 1)。
【问题讨论】:
-
你想得到一个指针数组的位吗?这样做有什么好处?
-
我想获取 vec 变量所引用的对象的位。我想对位应用纠删码算法。换句话说,纠删码算法的输入是原始数据(0 和 1 位)。
-
将指针转换为 char* 或 byte* 或其他任何内容,然后使用它。当然,弄清楚对象的大小可能是一项挑战。
-
如果您打算修改对象,最好确保以某种方式避免踩踏任何系统关键信息。
-
您可以将在地址(对于对象的大小)处的数据中读取的对象的地址作为
byte*获取,然后使用它。