est sans danger pour memcopy myvect.size() * sizeof (foo) octets à partir du memoryadress du premier élément d'unC++ std :: pair, std :: vecteur & memcopy
std::vector<std::pair<T1, T2> > myvect
dans un tableau de
struct foo{
T1 first;
T2 second;
}
si le tableau est alloué avec le même nombre d'éléments que la taille du vecteur?
grâce
std :: paire est un struct, la norme indique que le compilateur détermine la mise en page doit être maintenue si l'ordre, donc dans l'instance de std :: paire votre compilateur peut décider de placer un remplissage de 3 octets après chaque caractère pour un alignement optimal, donc non vous ne pouvez pas supposer la disposition de la mémoire contiguë - fin de l'histoire. –