Re[4]: memcpy
От: SmileIlya  
Дата: 15.04.15 14:58
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Здравствуйте, SmileIlya, Вы писали:


SVZ>>>Что же ты сделать-то хочешь?


SVZ>>>На всякий случай, vDouble — лежит на стеке, а память под элементы массива выделяется в куче. А ты пытаешься скопировать всё это в один присест. Да еще не учитываешь, что размер double и void* может быть разным.


SI>>Хочу то я понятно чего, нормально скопировать pValuePoint значение.

SI>>Все это счастье часть общего алгоритма, я просто вынес все в одну ф-цию.
SVZ>хъ
SI>>ну и понятно вызывается fun c параметрами (&vDouble,sizeof(vector<void*>) + (sizeof(void*) * (static_cast<vector<void*> const*>( pValue ))->size()))

SVZ>Я правильно понимаю, что ты хочешь скопировать данные, лежащие в массиве?

SVZ>Тогда указатель надо брать по-другому
SVZ>pValuePoint = &vDouble[0];
SVZ>А размер блока в байтах, соответственно, vDouble.size() * sizeof(double)

SVZ>Только получается аццкая смесь из С и С++. Уверен, что твою задачу по-другому не решить?



Других вариантов нет. Это ф-ция одна из в чудо ядре. Писали давно и универсально
После всех этих развлечений, надо снова получить vector<double>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.