なぜこれではないのですか?
cin.ignore (getchar(),'\n');
私はプロのプログラマーではなく、アマチュアとは思えませんが、これは私のささやかな努力です。
シンプルで移植性があり、理解しやすい(特に私のような初心者にとって)Web上のすべてのソリューションを徹底的に調べた後、(特に私のような初心者にとって)本当に受け入れられるものは何もありませんでした.
何度も何度も失敗した後、私はこの行を書きました。そしてそれは働いた!
そして私には、それはかなりエレガントなソリューションのように思えます。
つまり、これは 1 行のコードであり、覚えやすく、それ以上変数を宣言する必要がなく、理解するために抽象化をしすぎる必要もありません。
そして、私が試したすべてのシナリオで機能します。
それが良い解決策ではない場合、それを説明してくれる善意のある人はいますか?
[編集]
適切な回答をありがとうございました。しかし、私かあなたのどちらかが要点を逃しています。私が質問しているのは、投稿したソリューションが機能していたかどうかではなく、機能しているためです! 少なくとも私のコンピューター、および私が取り組んでいるすべての実行可能ファイルで (頑固に思われたくないので、自分で私から信用を奪ってみてください。私が使用する例は最後にあります)。そして、あなたが話している副作用はどれも現れていません. 行は最初の入力に応答し、「任意の」文字ではなく、入力のみに応答します。私の懸念は、それがどこにも書かれているのを見たことがないという事実と、ゼロから解決策を見つけたことに驚いた最も貧弱なプログラマーであると考えていることです。
short WaitForEnter ()
{
cout << "Press ENTER to continue\n";
cin.ignore (getchar(),'\n');
return 0;
}