我的班级如下:
AppStart{
static void SignalHandler(int signal){
std::cout<< log_file_;
}
static void Start(){
//Set log_file_ path
//Register signal handler
}
static string log_file_;
}
Run Code Online (Sandbox Code Playgroud)
当第一次通过使用kill命令发送信号来调用SignalHandler时,它正在打印正确的值.但是当它被多次调用时,它会给出未定义的行为.为什么静态变量在完成程序执行之前就被破坏了?