30/09/2018, 16:42

Hỏi về cấp phát động trong C++?

Em là sv năm 1 có 1 điều thắc mắc thế này ạ:
Giả sử em có 1 hàm con func() có sử dụng cấp phát động mảng 1 chiều int *a=new int[n]; thì sau khi máy chạy hêt hàm func() thì có phải là chỉ có *a được giải phóng thôi và cái vùng nhớ xin được cấp phát vẫn còn đúng ko ạ? ý em là nên đặt cái delete[] a; ở ngoài main hay trong func()? em cảm ơn

Nguyễn Minh Dũng viết 18:54 ngày 30/09/2018

thì sau khi máy chạy hêt hàm func() thì có phải là chỉ có *a được giải phóng thôi và cái vùng nhớ xin được cấp phát vẫn còn đúng ko ạ?

Đúng vậy

ý em là nên đặt cái delete[] a; ở ngoài main hay trong func()?

trong hàm func() nhé. Làm ở đâu dứt điểm ở đấy

Ha Gia Phat viết 18:56 ngày 30/09/2018

cảm ơn anh đạt

Bài liên quan
0