Wenn Sie mit Zeigern und Verweisen in C++ arbeiten, ist es manchmal schwierig zu erkennen, ob der Zeiger über die referenzierten Daten verfügt oder nur eine temporäre Referenz ist. Zum Beispiel:So machen Sie Datenbesitz explizit in C++
Instance* i = new Instance();
Instance* j = i;
Wie kann es, welche der zwei Zeiger hat das Eigentum über die Instanz deutlich gemacht werden? Mit anderen Worten, wie klar machen, auf welchen Zeiger löschen muss aufgerufen werden?
Hinweis: Im obigen Beispiel ist dies nicht schwer zu sehen, da es sich um ein sehr kurzes Stück Code handelt. Wenn der Zeiger jedoch dupliziert und viel herumgereicht wird, kann dies unklar werden.
Ihre Frage ergibt keinen Sinn. Keine der Referenzen hat "Eigentum". Sie sind beide gleichermaßen gültige Referenzen –
Das ist genau mein Problem, und ich frage mich, wie es am besten zu dokumentieren, welcher Zeiger die Verantwortung hat, die Instanz zu löschen. Ich hätte gerne eine Sprachfunktion dafür, obwohl ich keine Ahnung habe, wie das gemacht werden könnte. –
+1 Warum redest du diese Frage? – ralphtheninja