30/09/2018, 17:24
Dùng con trỏ để xóa mảng heap trong C++
Mọi người giải đáp giúp mình với!
Mình có đoạn code như sau:
int *pInt=new int[10];
Mình muốn sử dụng con trỏ để xóa một phần tử trên heap, mặc dù đã thử nhiều cách sau:
int *pInt = new int[10];
int *temp = pInt;
*temp = 0;
temp += 9;
*temp = 9;
delete temp;
hay:
delete (pInt+9);
Cũng vẫn bị lỗi và không thể nào xóa được! Tại sao vậy các bạn?
Bài liên quan
Mình nghĩ là không có cách nào để giải phóng một phần của mảng động. Nếu bạn muốn dùng bộ nhớ ít hơn khi không cần những phần tử cuối:
Mình cũng đoán như bạn vậy. Tưởng có cách nào khác! Tks nhé!
Xóa toàn bộ rồi cấp phát lại được chứ bạn?