Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của hàm quick_exit() trong C++ STL.
quick_exit() là gì?
quick_exit() là hàm tích hợp sẵn trong C++ STL, được định nghĩa trong header <cstdlib>. quick_exit() dùng để kết thúc nhanh quá trình gọi (calling process), nghĩa là kết thúc tiến trình mà không dọn dẹp tài nguyên của nó.
Hàm này dùng cho việc kết thúc bình thường và không thực hiện thêm các tác vụ dọn dẹp như: không gọi destructor của đối tượng, trong khi các luồng C được đóng hoặc flush, các file mở bằng tmpfile bị xóa.
Khi kết thúc tiến trình bằng quick_exit(), một trạng thái (status) được trả về cho môi trường chủ (host environment):
- Nếu status là 0 hoặc EXIT_SUCCESS, nghĩa là kết thúc thành công.
- Nếu status là EXIT_FAILURE, nghĩa là kết thúc không thành công.
Cú pháp
void quick_exit( int status );
Tham số
Hàm chấp nhận tham số sau:
- status - Trạng thái kết thúc: nếu 0 hoặc EXIT_SUCCESS thì thành công, nếu EXIT_FAILURE thì thất bại.
Giá trị trả về
Hàm này không trả về giá trị nào.
Ví dụ
Đầu vào
printf("Before exit"); quick_exit(EXIT_SUCCESS); printf("After Exit");
Kết quả
Before exit
Ví dụ đầy đủ
#include <bits/stdc++.h>
using namespace std;
void exit_func1() {
cout << "Đây là hàm thoát 1" << endl;
}
void exit_func2() {
cout << "Đây là hàm thoát 2" << endl;
}
void exit_func3() {
cout << "Đây là hàm thoát 3" << endl;
}
void exit_func4() {
cout << "Đây là hàm thoát 4" << endl;
}
int main() {
at_quick_exit(exit_func1);
at_quick_exit(exit_func2);
at_quick_exit(exit_func3);
at_quick_exit(exit_func4);
quick_exit(0);
return 0;
}
Kết quả
Đây là hàm thoát 4 Đây là hàm thoát 3 Đây là hàm thoát 2 Đây là hàm thoát 1