abort()和atexit()函数

1.abort()和atexit()函数

在C++标准中,abort()函数的作用是终止一个进程,可以具有额外的功能。对于自动静态存储对象,执行过程中不调用对象的析构器,并且不调用atexit()函数。

atexit()函数的声明形式如下:

978-7-111-51399-5-Chapter10-48.jpg

功能:atexit()函数将注册(或设置)指针f指向的函数,并且指针f指向的函数不带参数。当执行被atexit()函数注册的函数时,由于该指针f指向的函数不提供句柄,并且无法抛出异常,一旦指针f指向的函数不能被有效控制,terminate()函数将被调用。

局限性:在使用atexit()时,代表函数的指针f至少可以支持注册32种函数。

返回值:如果指针f指向的函数注册成功,atexit()函数返回0;否则,atexit()函数返回非零值。