11

我听说在 C 中,main() 是可重入的,而在 C++ 中则不是。

这是真的?重新进入main()函数的场景是什么?

4

1 回答 1

16

早期的 C++ 实现,基于对 C 的转换,通过在main. 在这样的实现下,再次调用main会重新运行全局 ctor,造成严重破坏,因此根本禁止这样做。

另一方面,C 没有理由禁止跟注main,而且这在传统上总是可能的。

至于什么时候有用,我会说“很少”。我见过的大多数调用的程序main都是 IOCCC 条目。

于 2013-06-27T03:07:33.400 回答