Система ( "пауза");- Почему это не так? - PullRequest
117 голосов
/ 10 июля 2009

Вот вопрос, который я не совсем понимаю:

Команда system("pause"); преподается новым программистам как способ приостановить программу и ждать продолжения ввода с клавиатуры. Тем не менее, многие ветераны-программисты считают, что это не следует делать в разной степени.

Некоторые люди говорят, что это нормально. Некоторые говорят, что его можно использовать только тогда, когда вы заперты в своей комнате, и никто не смотрит. Некоторые говорят, что они лично придут к вам домой и убьют вас, если вы им воспользуетесь.

Я сам новый программист без формального обучения программированию. Я использую это, потому что меня учили использовать это. Чего я не понимаю, так это того, что если это не то, что нужно использовать, то почему меня научили это использовать? Или, с другой стороны, это действительно не так уж плохо в конце концов?

Что вы думаете об этом предмете?

Ответы [ 13 ]

0 голосов
/ 17 октября 2015

за использование системы («ПАУЗА»); в то время как создание небольших частей вашей программы для самостоятельной отладки. если вы используете его для получения результатов переменных до, во время и после каждого процесса, который вы используете, чтобы убедиться, что они работают правильно.

После тестирования и приведения его в полное состояние вместе с остальной частью решения вы должны удалить эти строки. это действительно хорошо при тестировании пользовательского алгоритма и уверенности в том, что вы делаете вещи в правильном порядке для получения желаемых результатов.

Ни в коем случае вы не хотите использовать это в приложении после того, как вы проверили его и убедились, что оно работает должным образом. Однако это позволяет вам отслеживать все, что происходит, как это происходит. Ни в коем случае не используйте его для приложений конечного пользователя.

0 голосов
/ 27 ноября 2014

Вот одна из причин, по которой вы не должны его использовать: это приводит к бешенству большинства антивирусных программ, работающих в Windows, если вы переносите программу на другую машину, потому что это угроза безопасности. Даже если ваша программа состоит только из простого cout << "hello world\n"; system("pause"); Он требует значительных ресурсов и программа получает доступ к команде cmd, которую антивирусы считают угрозой.

0 голосов
/ 11 июля 2011

Это все дело стиля. Это полезно для отладки, но в противном случае его не следует использовать в окончательной версии программы. Это действительно не имеет значения для проблемы с памятью, потому что я уверен, что те парни, которые изобрели систему («пауза»), ожидали, что она будет часто использоваться. С другой стороны, компьютеры ограничиваются своей памятью для всего остального, что мы используем на компьютере в любом случае, и это не представляет прямой угрозы, такой как динамическое выделение памяти, поэтому я рекомендую это для отладки кода, но ничего больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...