メインメニューを開く

差分

無限ループ

862 バイト追加, 2014年11月4日 (火) 02:17
無限ループとは、'''無限ループ'''(読み:むげんループ、[[英語]]: infinite loop)とは、[[無限]]に繰り返される[[ループ]]のことである。 また、英語読みの「[[インフィニット・ループ]]」はアメリカ合衆国カリフォルニア州クパティーノに存在する環状道路由来の地名であり、現在その中には[[アップル]]本社のビル群が建っている。
==例==
===C言語=======推奨====2013年時点で[[C言語]]===においてもっとも推奨されている無限ループの記述方法である。<presource lang="c">for(;;)処理;</presource>* 2013年時点でもっとも推奨されている記述方法である。
====非推奨====
この記法は無限ループの書き方としてよく登場するが、馬鹿な[[コンパイラ]]ではループの度に無駄な判定処理が入るという欠点がある。
[[Visual C++]]ではC4127警告<ref>http://msdn.microsoft.com/ja-jp/library/6t66728h.aspx</ref>が発令され怒られる。
[[マイクロソフト]]社内でこの記法を用いると[[リストラ]]対象となるかは定かではない。
<source lang="c">while(1)処理;</source>
<pre>while(1)処理;</pre>* この記法は馬鹿なコンパイラではループの度に判定処理が入るという欠点がある。====非推奨====* [[Visual C++]]ではC4127警告<ref>http://msdn.microsoft.com/ja-jp/library/6t66728h.aspx</ref>が発令され怒られる。[[マイクロソフト不具合]]社内でこの記法を用いると、いわゆる[[リストラバグ]]対象となるかは定かではない。 である。<presource lang="c">int i,j;
for(i=0;i<10;i++) {
for(j=0;j<10;i++)処理;
}</presource>* [[不具合]]、いわゆる[[バグ]]である。
====非推奨====[[不具合]]、いわゆる[[バグ]]である。<presource lang="c">int i,j;
for(i=0;i<100;i++) {
for(i=0;i<10;i++)処理;
}</presource
====非推奨====[[不具合]]、いわゆる[[バグ]]である。<presource lang="c">int i;for(i=0;i<=INT_MAX;i++)処理;</presource>
===Active Basic===[[Active Basic]]===における無限ループ。
<pre>Do
処理
Loop</pre>
===HSP===[[HSP]]===における無限ループ。
<pre>repeat
処理
loop</pre>
===x86アセンブラ===[[x86]]の[[アセンブラ]]===における無限ループ。
<pre>thelabel:
jmp thelabel</pre>
== 関連項目 ==
* [[無限のリピート]]
== 参考文献 ==
{{reflist}}
匿名利用者