5.3.12 Hàm Hủy (Destructors) - CppDeveloper
Có thể bạn quan tâm
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ướ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ớ →
C++ #include <iostream> using namespace std; class Sample { public: Sample(int val) { value = new int[val]; cout << "Allocation (" << val << ") done." << endl; } ~Sample(void) { delete [] value; cout << "Deletion done." << endl; } int *value; }; void MakeALeak(void) { Sample object(1000); } int main(void) { MakeALeak(); return 0; }| 12345678910111213141516171819202122232425 | #include <iostream> usingnamespacestd; classSample{public:Sample(intval){value=newint[val];cout<<"Allocation ("<<val<<") done."<<endl;}~Sample(void){delete[]value;cout<<"Deletion done."<<endl;}int*value;}; voidMakeALeak(void){Sample object(1000);} intmain(void){MakeALeak();return0;} |
khi biên dịch và chạy, hai dòng sau sẽ được xuất ra màn hình:
C++ Allocation (1000) done. Deletion done.| 12 | Allocation(1000)done.Deletion done. |
- c++ cơ bản
- destructor
- Hàm hủy
5.3.11 Rò rỉ bộ nhớ (Memory leaks)
Tiếp theo5.4.1 Từ khóa “auto” (1)
Tìm kiếm cho:Facebook Page
Ads



Forum
Tham gia group Bài viết mới
-
Ý nghĩa của Change-Id trong Gerrit Code Review
Tháng Một 27, 2022 0 -
Android Automotive OS – Android based platform dành cho ô tô
Tháng Một 19, 2022 0 -
Dùng song song 2 mạng Ethernet và Wifi trên Windows
Tháng Chín 27, 2021 0 -
Một số cách convert number sang string trong C++
Tháng Năm 7, 2021 0 -
Toán tử ‘typeid’ trong C++
Tháng Ba 8, 2021 0 -
Bộ tiền xử lý – Preprocessor trong C/C++
Tháng Mười Hai 28, 2020 0 -
Cùng tìm hiểu về Base64 encoding
Tháng Mười Một 4, 2020 0
Chuyên mục
- 4 TÍNH CHẤT CỦA OOP
- BEST PRACTICES
- C++ NÂNG CAO
- CODE GYM
- CTDL & GIẢI THUẬT
- DESIGN PATTERNS
- KIẾN THỨC TỔNG HỢP
- LINUX / YOCTO / AOSP
- TECH365
- VISUAL STUDIO
Copyright © 2026 CppDeveloper by Phạm Minh Tuấn (SHUN)
Từ khóa » Hàm Hủy Trong Class C++
-
Hàm Hủy (Destructor) Trong Class C++
-
Hàm Hủy (Destructor) Trong C++ - Freetuts
-
[Tự Học C++] Hàm Hủy - Destructor Trong C++ »
-
Lớp Và đối Tượng : Hàm Hủy (destructor) Trong C++ | Codelearn
-
Destructor Trong C++ - Techacademy
-
Hàm Khởi Tạo (constructor) Và Hàm Hủy (destructor) Của Lớp Trong OOP
-
Hàm Khởi Tạo Và Hàm Huỷ - Lập Trình Không Khó
-
Hàm Tạo Và Hàm Hủy C++ - TEK4
-
C++ 47: Hàm Khởi Tạo - Hàm Hủy - YouTube
-
Hàm Hủy Bỏ (Destructor) - Lập Trình C++
-
Hàm Hủy (Destructor) Trong C++ - Chickgolden
-
C++ — Hàm Hủy Mặc định Của C ++
-
Hàm Hủy (Destructor) Trong C++ - Gấu Đây
-
Hàm Khởi Tạo Và Hàm Hủy Trong Lập Trình Hướng đối Tượng