Sono consapevole che chiamare l'eliminazione su una variabile creata utilizzando il posizionamento nuovo e quindi accedere a quel blocco di memoria ha un comportamento non definito.Elimina sul posizionamento nuovo
int* x = new int[2];
char* ch = new(x) char();
*ch = 't';
delete ch;
Ma se il blocco di memoria, invece di heap viene allocata sulla pila e poi noi chiamiamo delete su quella variabile e poi accedere alla memoria, ottengo un'eccezione che il tipo blocco è valido.
int x[2];
char* ch = new(x) char();
*ch = 't';
delete ch;
Così la lista delle domande è:
- è l'eccezione a causa di chiamare di eliminare su una pila?
- Va bene usare il posizionamento nuovo sul blocco di memoria nello stack?
- In caso affermativo, come eliminare il puntatore del carattere.
- È possibile assegnare più variabili su un singolo blocco della memoria utilizzando il nuovo inserimento?
http://www.parashift.com/c++-faq/placement-new.html – Drax