Computer >> Máy Tính >  >> Lập trình >> lập trình C

Hàm exit () so với _Exit () trong C và C ++

Trong phần này, chúng ta sẽ xem sự khác nhau giữa exit () và _Exit () trong Cand C ++. Trong C, exit () kết thúc quá trình gọi mà không thực thi mã còn lại có sau hàm exit ().

Trong C ++ 11, có một hàm mới được gọi là _Exit (). Vậy tính năng của chức năng này là gì? Hàm exit () thực hiện một số thao tác dọn dẹp trước khi kết thúc chương trình. Nó xóa kết thúc kết nối, xóa bộ đệm, v.v. Hàm _Exit () này không làm sạch bất cứ thứ gì. Nếu chúng tôi kiểm tra bằng phương thức atexit (), nó sẽ không hoạt động.

Hãy để chúng tôi xem hai ví dụ mà lúc đầu chúng tôi đang sử dụng hàm exit (), sau đó chuyển sang phần tiếp theo

Ví dụ

#include<bits/stdc++.h>
using namespace std;
void my_function(void) {
   cout << "Exiting from program";
}
int main() {
   atexit(my_function);
   exit(10);
}

Đầu ra

Exiting from program

Ví dụ

#include<bits/stdc++.h>
using namespace std;
void my_function(void) {
   cout << "Exiting from program";
}
int main() {
   atexit(my_function);
   _Exit(10);
}

Đầu ra

In this case the output is blank. Nothing has come.