[英]When virtual destructor is not needed even there is a virtual function, Why?
[英]Why is WEXITSTATUS even needed?
以下代码将等待子进程完成,然后打印其返回码。
int status;
wait(&status);
cout << "return code = " << WEXITSTATUS(status) << endl;
为什么返回码不能只存储在 int 变量中? 为什么必须用 function WEXITSTATUS 转换? 未转换的 int 变量的值代表什么?
int
不仅包含退出代码 - 它还存储有关进程如何终止的信息,例如是否发出信号( WIFSIGNALED
)或是否调用了exit()
( WIFEXITED
)等。
W
宏用于从int
中提取各种信息。
status
不仅包含进程的返回值,还包含wait(2,3p)
调用返回的原因(可能并不总是进程的正常退出)。 各种W*()
宏用于将返回值分解为其组成部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.