OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

for( ; ; ) ?

  • 困ってます
  • 質問No.126080
  • 閲覧数34
  • ありがとう数3
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 38% (12/31)

for(;;)というのは、どういう時に使うんですか?
そしてどんな働きをするものなんでしょうか?
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.5

皆さんの言うように「無限ループ」です。
自分が意識したタイミングでのみ処理を終了させたい場合に利用します。

基本的には、

for(;;) {
 if(method1()) {
  break;
}
}

のように記述し、method1という関数がtrueを返したときだけ、
ループを終了するといった行為で使用します。

GUIを扱うソフトウェアでは一般的に使われます。
# ユーザが終了ボタンを押したときに、プログラムを終了するなど

こうしておかないと、ソフトウェアを立ち上げて、一定時間したら
勝手にプログラムが終了してしまったりするので。。。


ちなみに、for(;;)とwhile(true)のどちらを使うかはその人のコーディングスタイルだと思います。動作的には全く同じです。。。

通常のループでも、for文とwhile文のどちらでも作れますから、その延長として無限ループを使うときに書き慣れた方を使うことが多いようです。
お礼コメント
era

お礼率 38% (12/31)

お礼が遅くなり、
しかもみなさんそれぞれにお礼を言えなくてすいません。

みなさんすごくわかりやすかったです。
ありがとうございました。
投稿日時 - 2001-09-05 18:27:40
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル13

ベストアンサー率 40% (404/988)

こんにちは。 Cや、C++でも、同じなのですが、 FOR分を用いた 永久ループです。 どこかに抜け道、作らないと大変な事になります。 ~~終わんない~~~ でわでわ
こんにちは。

Cや、C++でも、同じなのですが、
FOR分を用いた 永久ループです。

どこかに抜け道、作らないと大変な事になります。
~~終わんない~~~


でわでわ


  • 回答No.2
レベル9

ベストアンサー率 34% (15/43)

無限ループを表すものですね。 普通for文の中にはループのための条件が入るのですが、 「;」を2つだけで中のループ条件を省略(というかループ条件なし)にしています。 条件がないということはfor文を終了するための条件がないことと同じなので、 延々とループを回りつづけることになるのです。 無限ループなので当然中でなんらかの形でループを抜けるための命令を入れないと、 いつまでたってもプログ ...続きを読む
無限ループを表すものですね。

普通for文の中にはループのための条件が入るのですが、
「;」を2つだけで中のループ条件を省略(というかループ条件なし)にしています。
条件がないということはfor文を終了するための条件がないことと同じなので、
延々とループを回りつづけることになるのです。

無限ループなので当然中でなんらかの形でループを抜けるための命令を入れないと、
いつまでたってもプログラムは終了しません(笑)

Javaは経験ないですが意味はこれであっているはずです(笑)
  • 回答No.3
レベル12

ベストアンサー率 41% (324/772)

ループから抜け出したくない場合に使います。 たとえば定期的にエンドレスで何かをチェックしたい ような場合に使うことがあります。 # 実際にはプログラムになれた人は別な記述を # しますが、、、 while(1); と書いても同様です。
ループから抜け出したくない場合に使います。

たとえば定期的にエンドレスで何かをチェックしたい
ような場合に使うことがあります。
# 実際にはプログラムになれた人は別な記述を
# しますが、、、

while(1);
と書いても同様です。
  • 回答No.4
レベル9

ベストアンサー率 38% (24/62)

「無限ループ」と言うやつですね。 while(true) { } と言うのも同じ動作をします。 普通はwhile(true)を使うと思っているんですが・・・ for(;;)にメリットがあるかどうかは分かりません。 無限ループは処理の終了がいつになるか分からない処理を 永遠と行うために使ったりします。 (たとえば何かのファイルを監視して、そのファイルが更新されるまで 次の処理を ...続きを読む
「無限ループ」と言うやつですね。

while(true) {
}

と言うのも同じ動作をします。
普通はwhile(true)を使うと思っているんですが・・・
for(;;)にメリットがあるかどうかは分かりません。

無限ループは処理の終了がいつになるか分からない処理を
永遠と行うために使ったりします。
(たとえば何かのファイルを監視して、そのファイルが更新されるまで
次の処理を行わないようにする・・・など)

ただし、無限ループの構文の中で外に抜け出す部分を作成しないと、
いつまでたっても終わらなくなってしまいます。
「break」をお忘れなきよう。
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ