Donc, je sais que le code suivant peut utiliser '=' et être beaucoup plus facile et meilleur, mais j'essaie de mieux comprendre memcpy pour les applications plus complexes. Quand j'utilise "ptr = b", j'obtiens une sortie de "1", ce à quoi je m'attends. En utilisant memcpy, il segmente.Pourquoi le segment de memcpy est-il en défaut?
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
int a = 1;
int *b = &a;
void* ptr;
memcpy(ptr, b, sizeof(b));
int *c = (int *)ptr;
cout<<*c<<endl;
return 0;
}
* « mais je suis en train de memcpy mieux comprendre pour des applications plus complexes » *. En fait, il y a rarement une raison d'utiliser 'memcpy' en C++. – MikeMB
Eh bien, j'ai juste commencé un nouveau travail et j'essaie de comprendre le code qu'ils ont déjà en place, et ils ont utilisé memcpy avec quelques pointeurs de vide (que je n'avais jamais vu hier) alors j'essaie de comprendre comment cela fonctionne. –