下面的代碼是從一本書碼提取物的濃縮版,當時的想法是創建PTR變量的副本,然後有PTR變量指向一個不同的地址,最後刪除臨時指針。刪除指針指向同一個變量
如果我的理解是正確的,是否調用刪除臨時指針實際上刪除了原來的num變量?並且既然臨時指針和num都是懸掛指針,將它們都設置爲NULL是否正確?
int *num = new int(5);
int num1 = 10;
int *ptr = num;
int *temp = ptr;
ptr = &num1;
delete temp;
temp = NULL;
num = NULL;
您的代碼是正確的。 'delete'刪除指向的對象(它不是基於指針的引用計數釋放,或類似的東西) –