我有一个以vector<uint16>
s为成员的对象列表。
这些向量基本上捕获与该对象相关的数据流。
数据流的长度范围为16 - 256位。
我有兴趣将该矢量的一部分切成double
变量。
IE:
vector<uint16> data = { 00FA, 78BB, FFFF, 1234, 6C9D, ..., n }
double formatted_data = ( data from spot 0 to spot 3 )
memcpy()
或std::copy()
会成为一种解决这个问题的方法吗?或者有更好的方法吗?
为了清楚起见,数据的发起者也将值存储在双精度中,我收到的数据是该数据的存储器表示。
内部向量成员函数调用data()可能在这里解决您的问题:
memcpy(&formatted_data, data.data(), sizeof(double));
std::vector::data()
返回指向内部维护的c样式数组中指定向量的第一个元素的指针。