Se hopuntatori - duplicare istanza dell'oggetto
Class *a1 = new Class();
Class *b1 = a1;
delete b1;
delete a1; //this will give a double free or corruption message;
se elimino puntatore b, è la stessa come l'eliminazione di puntatore un diritto? Poiché i due puntano alla stessa istanza di Class. Quindi, come posso copiare l'istanza di a1 in b1 in modo che quando elimino b1, a1 NON sia cancellato.
Class *a1 = new Class();
Class *b1 = a1;
//how do I duplicate the instance a1 is pointing
//so that when I delete b1, a1 still exists.
delete b1;
delete a1; //this is still valid
Grazie.
Non sono sicuro che tutti i puntatori siano necessari, ma "Classe * b1 = nuova classe (* a1);" dovrebbe farlo. – chris
Assicurati che il tuo costruttore di copia sia OK e crea una nuova copia da * a1. – halfelf
È stato facile @. @ Grazie – tambalolo