Я пытался отработать системную паузу, используя различные приемы. Я наконец получил возможность cin>> "(variable created)";
заставить программу ждать, пока моя команда закроется. Работает нормально.
Теперь вопрос в том, можно ли следовать этой технике или она оставляет лазейки, как system("pause");
?
Точка останова — лучший способ приостановить программу. Они на самом деле предназначены для приостановки программ.
cin>> "(variable created)"
Это очень паршивый способ приостановить работу вашей программы — если пользователь вводит что-либо, вы вызываете неопределенное поведение, пытаясь перезаписать строку, доступную только для чтения (что фактически делает вашу программу segfault в некоторых системах).
Вы могли бы использовать
char dummy[2];
cin.getline(dummy, 2);
если вы не заботитесь о состоянии входного потока после этого (некоторые входные данные останутся там, бит сбоя может быть установлен).
Как правило, я бы рекомендовал не использовать паузы в конце программы любого рода.
После использования cin.getline (…) используйте cin.flush (). Эта команда удаляет новую строку из буфера.