r количество ретвитов [закрыто]

Несколько лучшее решение:

atexit([] { system("PAUSE"); });

в начале вашей программы.

Плюсы:

  • может использовать std :: exit ()
  • может иметь несколько возвратов из основного
  • , вы можете запустить свою программу под отладчиком
  • Независимо от IDE (+ независимая от ОС, если вы используете cin.sync(); cin.ignore(); system("pause");)

Минусы:

  • должны изменить код
  • не будут останавливаться на std :: terminate ()
  • все равно произойдет в вашей программе за пределами сеанса IDE / отладчика; вы можете предотвратить это в Windows, используя:

extern "C" int __stdcall IsDebuggerPresent(void);
int main(int argc, char** argv) {
    if (IsDebuggerPresent())
        atexit([] {system("PAUSE"); });
    ...
}
-14
задан Community 23 May 2017 в 12:24
поделиться