有问题关于使用exit
C ++中。答案讨论这不是一个好主意,主要是因为RAII,例如,如果exit
在代码中的某处调用了对象,则不会调用对象的析构函数,因此,例如,如果要使用析构函数将数据写入文件,则不会发生这种情况,因为未调用析构函数。
我对C中的这种情况很感兴趣。类似的问题也适用于C吗?我以为既然在C语言中我们不使用构造函数/析构函数,那么exit
C语言中的情况可能会有所不同。那么在C语言中使用可以吗?
我已经看到了下面的函数,在某些情况下可以很好地使用它,但是是否对我们在C中使用using存在类似的问题感兴趣exit
,如上面的C ++所述?(这会使使用下面的功能不是一个好主意。)。
void die(const char *message)
{
if(errno) {
perror(message);
} else {
printf("ERROR: %s\n", message);
}
exit(1);
}