Invece è proprio così. In quel modo tu assegni l'indirizzo di din_vett a din_vett2.A prima vista mi verrebbe in mente che a din_vett2 assegno lo stesso indirizzo della locazione di memoria puntata da din_vett, pero sicuramente non e cosi...
Il problema viene qui:
Infatti tu consideri din_vett2 come un puntatore ad un vettore di 20 elementi, ma in realtà sta puntando a din_vett che è di 10 elementi.codice:for( int l= 0; l < 20; l++ ) load_vector( din_vett2, l );
Nota bene che quando assegni l'indirizzo di din_vett a din_vett2 non deallochi la memoria precedentemente puntata da din_vett2. Inoltre se alla fine din_vett2 sarà uguale a din_vett allora dovrai chiamare una volta delete[], altrimenti cerchi di deallocare la stessa area di memoria due volte.