Копирование раздела векторав двойную переменную - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть список объектов, которые имеют 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() подходящим способомпойти об этом?Или есть лучший способ сделать это?

Для ясности, создатель данных также хранит значения в двойных числах, данные, которые я получаю, являются представлениями этих данных в памяти.

1 Ответ

0 голосов
/ 15 февраля 2019

Внутренний вектор-вызов функции-члена data (), вероятно, решит вашу проблему здесь:

memcpy(&formatted_data, data.data(), sizeof(double));

std::vector::data() возвращает указатель на первый элемент во внутреннем массиве c-style для назначенного вектора.

...