Является ли функция main () возвратной?

Я слышал, что в C main () является реентерабельным, а в C ++ — нет.

Это правда? Каков сценарий повторного входа в функцию main ()?

10

Решение

Ранние реализации C ++, основанные на трансляции в C, реализовывали глобальные конструкторы, добавляя вызов функции в начало main, При такой реализации звоню main снова будет повторно запускать глобальные ctors, что приведет к хаосу, так что это было просто запрещено.

С другой стороны, не было причин запрещать звонки mainи это всегда было традиционно возможно.

Что касается того, когда это полезно, я бы сказал «редко». Большинство программ, которые я видел, называется main были записи IOCCC.

16

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]