que j'ai un struct commecopie d'un tampon dans une structure en langage C++ de style
typedef struct {
unsigned char flag, type;
unsigned short id;
uint32 size;
} THdr;
et un tampon de données provenant d'une comunication UDP, j'ai un tampon d'octets et sa taille (data
et data_size
) . la taille des données est supérieure à sizeof(THdr)
. La structure est au début du tampon, et je veux le copier dans une structure définie dans le code THdr Struct_copy
. Je sais que je peux utiliser memcpy(&Struct_copy,data[0],sizeof(Struct_copy));
mais je voudrais utiliser un "style C++", comme en utilisant std::copy
.
aucune idée?
Si vous avez une implémentation en ligne simple, pourquoi la compliquer (et peut-être même ralentir) parce que vous voulez quelque chose de plus "stylé"? 'memcpy' est une bonne solution pour ça, c'est pour ça. –
Utilisez 'std :: memcpy' à la place :-)' std :: 'le rend plus C++ ish! – deepmax
parce qu'en fonction du compilateur memcpy peut être plus lent que std :: copy, au moins est ce qu'ils ont dit dans http://stackoverflow.com/questions/4707012/c-memcpy-vs-stdcopy – BiA