ich an alle Daten des param Struktur als void*
meiner Funktion:Wie kopiert man Daten aus void Zeiger in C++?
void func(void* param, size_t size) {
// here I need copy data from param
void * copy_data = malloc(size);
memcpy(copy_data, param, size);
...
}
// call it like this
func(&data, sizeof(data));
Wenn die param struct
ist, und es ist wie das Objekt im Inneren:
struct data {
CustomClass object;
};
Die memcpy
die realen Daten nicht kopieren in object
.
Gibt es eine Möglichkeit, echte Daten von void*
zu kopieren? Wenn nicht, was sind die besten Praktiken? Ich denke da muss jemand eine solche Frage gestellt haben, ich kann es einfach nicht finden :-)
Wie nennt man 'func' mit' data'? – Ajay
Deep Copy Konstruktoren sind dafür ausgelegt. –
@ Jean-BaptisteYunès Aber ich kann den Datentyp nicht von 'void *' bekommen, es wird viele Typen in 'func' geben. – zzy