C++ main函数里的exit与return的区别
2013-03-06 20:53
441 查看
1 #include <iostream> 2 using namespace std; 3 class Temp 4 { 5 public: 6 Temp(){cout<<"Constructor!"<<endl;} 7 ~Temp(){cout<<"Destructor!"<<endl;} 8 }; 9 int main() 10 { 11 Temp t; 12 exit(0) ; 13 }
输出:
Constructor!
1 #include
<iostream>
2 using
namespace std;
3 class Temp
4 {
5 public:
6 Temp(){cout<<"Constructor!"<<endl;}
7
~Temp(){cout<<"Destructor!"<<endl;}
8 };
9 int main()
10 {
11 Temp t;
12
return 0;
13 }
输出:Constructor! Destructor! return会自动调用对象的析构函数, 而exit不会!!! exit把控制权交给系统,而return将控制权交给调用函数。为什么用return 0 的时候对象能自动调用析构函数,完全是编译器干的。在c main函数中exit和return是相同的;而在c++中,编译器会将类析构函数的汇编代码插入到return前面,但对exit不作任何变动。C++ 中要尽量避免使用exit。
相关文章推荐
- Linux编程中的坑——C++中exit和return的区别
- C++ 中exit(),_exit(),return,abort()函数的区别
- Linux编程中的坑——C++中exit和return的区别
- C++:Windows下return,exit和ExitProcess的区别和分析
- return和exit的区别
- exit()和return语句的区别
- C语言中return和exit的区别
- Linux进程退出--exit与return的区别
- return 与 exit()的区别--return退出本函数,exit()退出整个程序
- System.exit()和return区别
- 挑战30天C++入门极限-exit()与return()函数的差别
- 嵌入式 c语言exit和return在程序中表现的区别
- exit(0)与exit(1)、return区别
- exit和return的区别
- 循环结构中break、continue、return和exit的区别
- exit和return的区别
- C语言中return,exit return exit的区别
- C/C++中exit和return的用法(备记)
- exit和return的区别
- return 和exit(0)的区别