Text Practice Mode
Nguyên lý RAII
created Mar 24th 2024, 13:20 by gochamnhatvietnam
1
185 words
8 completed
5
Rating visible after 3 or more votes
saving score / loading statistics ...
00:00
RAII là viết tắt của "Resource Acquisition Is Initialization”, là một nguyên lí cơ bản trong lập trình C++: đã gọi tài nguyên tạo biến ra rồi thì phải hủy tài nguyên đó sau khi biến bị hủy.
Ý tưởng chủ đạo đằng sau nguyên lí này là đóng gói (encapsulate) việc quản lí tài nguyên trong một class, bao gồm việc khởi tạo tài nguyên (acquisition) và giải phóng tài nguyên khi vòng đời của biến kết thúc (release)
Outline:
1. Resource Acquisition:
- Tài nguyên (như bộ nhớ, file handles, network connections, etc.) được gọi ra trong quá trình khởi tại đối tượng, biến
2. Resource Release:
- Tài nguyên được giải phóng tự động khi object ra khỏi scope, hoặc gặp lệnh return, hoặc một exception được throw ra
3. Exception Safety:
- RAII đảm bảo exception được xử lí an toàn nhất có thể. Nếu một exception được throw ra trong quá trình khởi tạo (constructor) một object, destructor sẽ được gọi ra như một phần việc pop instruction ra khỏi stack, từ đó tài nguyên được giải phóng đúng cách
Ý tưởng chủ đạo đằng sau nguyên lí này là đóng gói (encapsulate) việc quản lí tài nguyên trong một class, bao gồm việc khởi tạo tài nguyên (acquisition) và giải phóng tài nguyên khi vòng đời của biến kết thúc (release)
Outline:
1. Resource Acquisition:
- Tài nguyên (như bộ nhớ, file handles, network connections, etc.) được gọi ra trong quá trình khởi tại đối tượng, biến
2. Resource Release:
- Tài nguyên được giải phóng tự động khi object ra khỏi scope, hoặc gặp lệnh return, hoặc một exception được throw ra
3. Exception Safety:
- RAII đảm bảo exception được xử lí an toàn nhất có thể. Nếu một exception được throw ra trong quá trình khởi tạo (constructor) một object, destructor sẽ được gọi ra như một phần việc pop instruction ra khỏi stack, từ đó tài nguyên được giải phóng đúng cách
