Использование cin & gt; & quot; (созданная переменная); как вариант паузы

Я пытался отработать системную паузу, используя различные приемы. Я наконец получил возможность cin>> "(variable created)"; заставить программу ждать, пока моя команда закроется. Работает нормально.
Теперь вопрос в том, можно ли следовать этой технике или она оставляет лазейки, как system("pause");?

0

Решение

Точка останова — лучший способ приостановить программу. Они на самом деле предназначены для приостановки программ.

2

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

cin>> "(variable created)" Это очень паршивый способ приостановить работу вашей программы — если пользователь вводит что-либо, вы вызываете неопределенное поведение, пытаясь перезаписать строку, доступную только для чтения (что фактически делает вашу программу segfault в некоторых системах).

Вы могли бы использовать

char dummy[2];
cin.getline(dummy, 2);

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

Как правило, я бы рекомендовал не использовать паузы в конце программы любого рода.

0

После использования cin.getline (…) используйте cin.flush (). Эта команда удаляет новую строку из буфера.

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