Hỏi về cấp phát động trong Qt

Chào mọi người. Em thấy khi sử dụng Qt người ta hay dùng con trỏ rồi câp phát động cho các Widget.

Theo như em nghĩ là dùng con trỏ trong file header vì :

  • Có thể sử dụng được Forward Declaration
  • Linh hoạt hơn khi nào cần mới cấp phát
  • Có thể delete bất kì khi nào cần
  • Kích thước của Heap lớn hơn Stack

Vậy cho em hỏi các lý do trên đúng không ạ và còn lý do nào nữa, và cơ chế giải phóng bộ nhớ của thằng Qt là gì ( Em có đọc tài liệu nhưng ko hiểu lắm, chỉ hiểu là khi xóa thằng cha thì tất cả thằng con tự giải phóng ). Và những thằng Layout như QVBoxLayout và QHBoxLayout thì nên khai báo con trỏ trong file header hay nên cho nó làm biến cục bộ trong cpp thôi, nếu cấp phát động cho nó thì khi delete cái Widget mainwindow cái layout đó có được giải phóng ko vì cái này chỉ được add vào làm layout của widget

1 Like

This post was flagged by the community and is temporarily hidden.

1 Like

Qt framework mình cũng mới học, mà sao mãi chả thấy ai rep thêm :cry:

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