Vùng nhớ lúc cấp phát cho con trỏ a ở trên đã đi đâu?

*a = new int, *b = new int và khi con trỏ a trỏ tới vùng nhớ con trỏ b thì vùng nhớ cấp phát cho con trỏ a đi đâu rồi ạ

in * a;
a = new int;
cout << "mien gia tri con tro a = " << a << endl;
int * b;
b = new int;
*b = 6;
a = b;
cout << " mien gia tri cua con tro a = " << a << endl;
cout << " mien gia tri cua con tro b = " << b;

vậy vùng nhớ lúc cấp phát cho con trỏ a ở trên đã đi đâu rồi ạ

Nó vẫn ở đấy, không mất đi đâu cả. Cái này gọi là memory leak

3 Likes
a = b;

Cái này gọi là cấp quyền sử dụng đất nhưng vứt giấy tờ đi, đất bị bỏ hoang nhưng không được thu hồi.

int * b;
*b = 6;

Chưa new nhưng lại gán dữ liệu?

2 Likes

dạ mình bị ghi nhầm ạ😄

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?