Em có một thắc mắc về câu lệnh delete như sau:
int *a = new int(1);
int *b = a;
delete b;
Như em đã tìm hiểu thì delete sẽ thu hồi lại vùng nhớ của biến a (để vùng nhớ đó có thể phục vụ cho các chương trình khác) do đó sau khi delete thì địa chỉ biến a không thay đổi. Tuy nhiên ở đây em không hiểu là a và b cùng trỏ đến 1 vùng nhớ, mà sau khi delete, địa chỉ a không đổi nhưng địa chỉ của b lại thay đổi ạ?
vì
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?