刪除後C 中的指標
考慮C 中的以下程式碼片段:
<code class="cpp">A* a = new A(); A* b = a; delete a; A* c = a; // Undefined behavior in C++11 A* d = b; // Potentially legal, but uncertain</code>
因此,在C 14 中,存取b 的值(a 的副本)也是實作定義的。它可能會導致未定義的行為,但也可能透過特定的實現以不同的方式處理。 總之,A* c = a;且 A* d = b;在 C 11 中未定義,在 C 14 中實現定義。這是因為指標 a 和 b 在刪除操作後都指向無效記憶體。
以上是刪除原始指標後,C 中複製的指標會發生什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!