Это структурный узел с 2 переменными.
typedef struct{
int a;
int b;
}node;
Вставка значений в вектор типа узла.
vector <node> nv;
node n;
n.a = 10;
n.b = 20;
nv.push_back(n);
n.a = 100;
n.b = 200;
nv.push_back(n);
Копирование вектора в пустой указатель.
void *ptr = malloc(4096);
memcpy((char*)ptr,&nv,sizeof(node)*2);
Чтение значений из пустого указателя
node *temp;
temp = (node*)malloc(sizeof(node));
int offset = 0;
i = 0;
while(i<n){
memcpy((node*)temp,(char*)ptr + offset, sizeof(node));
cout<<"a - "<<temp->a<<" b -"<<temp->b<<endl;
offset += sizeof(node);
i++;
}
Я печатаю значения a и b.Но они неверны и содержат случайные числа.Я уверен, что я попал не в ту область памяти.Но не уверен, где.