è la capacità copiato?
In pratica, n. L'ho provato online su Clang and GCC e su MSVC e nessuno di loro copiava la capacità.
Ci sarà una riallocazione sull'ultima riga?
Se la capacità è inferiore al argomento di prenotare (vale a dire non venga copiato) allora sì.
Lo standard dice qualcosa o è silenzioso?
Nessuna definizione per il costruttore di copie è fornita in vector.cons. Invece dobbiamo guardare al container.requirements
X
denota una classe contenitore contenente oggetti di tipo T
, a
e b
valori denotano di tipo X
, u
indica un identificatore, r
indica un valore non-const di tipo X
e rv
denota un valore non costante di tipo X
.
X u(a)
X u = a;
Richiede:T
è CopyInsertable
in X
(vedi sotto).
postale: u == a
Ora, cosa significa per due contenitori essere uguali?
a == b
==
è una relazione di equivalenza. equal(a.begin(), a.end(), b.begin(), b.end())
In altre parole, dal momento che non richiede capacity
essere uguali nel confronto, quindi non c'è motivo per copiare il capacity
.
fonte
2016-06-05 07:40:26
Nella documentazione del vettore c-tors, si afferma che copia gli elementi. http://en.cppreference.com/w/cpp/container/vector/vector – paweldac