[過去ログ] C++相談室 part164 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
960: (ワッチョイ 13ad-c8RC) 2023/10/30(月)13:05 ID:bW5EQkS/0(1/3) AAS
Cスレで話題になっててちょっと疑問を質問
自分はgotoって全く使わないで書いているんだけど実際のところどうなんだろう

外部リンク:learn.microsoft.com
「可能な限り、goto ステートメントより break、continue、および return ステートメントを使用することをお勧めします。
ただし、break ステートメントはループの 1 つのレベルのみを終了するため、深い入れ子のループを終了するには goto ステートメントを使用する必要がある場合もあります。」

俺も深い入れ子のループを抜ける方法として
・ループ部分を関数化してreturn
・breakで抜けて if(/* 抜けた理由を再度評価 */) break; を繰り返す  (※後述)
ということをしている

けどgotoで抜けるほうが楽だろうなと思うんだけど、まあ単純なバグ(プログラマーの見落とし)を除いてどういう問題があるんだろうか

for ( i = 0; i < 10; i++ )
{
 printf_s( "Outer loop executing. i = %d\n", i );
 for ( j = 0; j < 2; j++ )
 {
  printf_s( " Inner loop executing. j = %d\n", j );
  if ( i == 3 ) break; // 内側のループ抜け
 }
 if ( i == 3 ) break; // 外側のループ抜け
}
1-
あと 42 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.502s*