Deep vs. Shallow Copy in der Programmierung
Beim flachen Kopieren wird ein neues Objekt erstellt, das auf dieselben zugrunde liegenden Daten wie das Original verweist. Im Gegensatz dazu wird beim tiefen Kopieren ein neues Objekt erstellt, das unabhängige Duplikate aller mit dem Original verknüpften Daten enthält.
Betrachten Sie die folgende C-Klasse:
<code class="c++">class X { public: int i; int *pi; X() : pi(new int) {} X(const X& copy) : i(copy.i), pi(copy.pi) {} };</code>
In diesem Fall führt das zu flachem Kopieren sowohl in den ursprünglichen als auch in den kopierten 🎜>
<code class="c++">X original; X copy(original);</code>
<code class="c++">class X { public: int i; int *pi; X() : pi(new int) {} X(const X& copy) : i(copy.i), pi(new int(*copy.pi)) {} };</code>
Das obige ist der detaillierte Inhalt vonTiefe vs. flache Kopie: Wann sollten Sie sich für welche entscheiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!