我正在尝试学习一些代码。我发现Throw为NULL;声明。
看起来像
static void function(something)
{
some variables;
if(a.size > b.size) {
Throw NULL;
}
...more another codes
}
我甚至不确定抛出零;正在前往。。
看起来像goto()语句,但带有抛出值。。
这正常吗?我的意思是,代码当然在起作用,我不是一个经验丰富的人,但从未见过这样的情况。(很抱歉noobs在说话)
这不是标准C,但看起来像是模拟语言中的异常机制的东西(例如,可以用setjmp/longjmp
来完成)。
最好的办法是查看预处理器的输出(比如gcc -E
获得的输出),看看它到底把它变成了什么。
或者,遵循头文件包含,因为其中一个几乎肯定会提供这种模拟。