Dopo molte indagini con valgrind, ho concluso che std :: vector fa una copia di un oggetto che si desidera push_back.
È davvero vero? Un vettore non può conservare un riferimento o un puntatore di un oggetto senza una copia ?!
Grazie
push_back: ci vuole un const&. O butta via il valore (inutile) o c'è un metodo di recupero. Quindi guardiamo la firma di back, e ritorna semplice &, quindi o il valore originale è stato copiato o constè stato silenziosamente gettato via (molto male: comportamento potenzialmente indefinito). Quindi supponendo che i designer di vectorfossero razionali ( vector<bool>non resistere), concludiamo che ne fanno delle copie.
*o&per creare un puntatore o un riferimento.