Quando si lavora con puntatori e riferimenti in C++, a volte è difficile vedere se il puntatore ha la proprietà sui dati di riferimento o se è solo un riferimento temporale. Per esempio:Come rendere esplicita la proprietà dei dati in C++
Instance* i = new Instance();
Instance* j = i;
Come può essere chiarito quale dei 2 puntatori ha la proprietà sopra l'istanza? In altre parole, come chiarire su quale puntatore cancellare deve essere chiamato?
Nota: Nell'esempio precedente questo non è difficile da vedere, in quanto è un codice molto breve. Tuttavia, quando il puntatore viene duplicato e passato molto, questo può diventare non chiaro.
la tua domanda non ha senso. nessun riferimento ha 'proprietà'. Sono entrambi, riferimenti ugualmente validi –
Questo è esattamente il mio problema, e mi chiedo come sia meglio documentare quale puntatore ha la responsabilità di eliminare l'istanza. Mi piacerebbe un linguaggio per questo, anche se non ho idea di come questo possa essere fatto. –
+1 Perché stai facendo downvoting a questa domanda? – ralphtheninja