1. ホーム
  2. c++

[解決済み] system("pause"); - なぜいけないのでしょうか?

2022-03-12 11:06:37

質問

よくわからない質問があります。

コマンドは system("pause"); は、プログラムを一時停止し、キーボード入力を待って続行する方法として、新人プログラマーに教えます。しかし、多くのベテランプログラマからは、程度の差こそあれ、やってはいけないこととして嫌われているようです。

使ってもいいという人もいる。部屋に閉じこもって誰も見ていないときだけ使えばいいという人もいる。もし使ったら、個人的にあなたの家に行って殺すという人もいます。

私自身は、正式なプログラミング教育を受けたことのない新米プログラマーです。教えてもらったから使っているのです。理解できないのは、もしそれが使うべきものでないなら、なぜ私はそれを使うように教えられたのでしょうか?あるいは逆に、結局のところ、そんなに悪いものではないのでしょうか?

このテーマについて、皆さんはどのようにお考えですか?

どのように解決するのですか?

Visual Studioから起動したコンソールウィンドウは、プログラムの実行が終了すると閉じてしまうため、新しいユーザーは新しいプログラムの出力を見ることができないからです。

System("pause") でボッディングすると、Windows のコマンドライン "pause" プログラムが実行され、その終了を待ってプログラムの実行を継続します - コンソールウィンドウは開いたままなので出力を読むことができます。

もっといいのは、最後にブレークポイントを置いてデバッグすることですが、これにも問題があります。