È sicuro memcopy myvect.size() * sizeof (foo) byte dal memoryadress del primo elemento di unC++ std :: coppia, std :: vector e memcopy
std::vector<std::pair<T1, T2> > myvect
in un array di
struct foo{
T1 first;
T2 second;
}
se l'array è allocato con lo stesso numero di elementi delle dimensioni del vettore?
grazie
std :: coppia è una struct, lo standard dice il compilatore determina il layout se l'ordine deve essere mantenuto, per cui nel caso di std :: coppia il tuo compilatore può decidere di posizionare il padding di 3 byte dopo ogni char per l'allineamento ottimale, quindi no non puoi assumere layout di memoria contiguo - fine della storia. –