5.3.12 Hàm hủy (Destructors)

Chúng ta có thể chống lại nguy cơ rò rỉ bộ nhớ bằng cách định nghĩa một hàm đặc biệt gọi là destructor.

Destructors có những hạn đặc điểm sau:

  • Nếu một class được đặt tên là X, destructor của nó được đặt tên là ~X
  • Một class chỉ có một destructor
  • Destructor phải là một hàm không có tham số
  • Một destructor không nên được gọi một cách tường minh

Ví dụ sau đây đưa một class từ trang trình bày trước, nhưng có một chút sửa đổi – chúng tôi đã thêm một destructor vào class đó. Destructor giải phóng bộ nhớ được cấp phát cho trường value, bảo vệ chúng ta khỏi bị rò rỉ bộ nhớ →

khi biên dịch và chạy, hai dòng sau sẽ được xuất ra màn hình:

Allocation (1000) done.

Deletion done.