工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++再帰完全ガイド:概念、実例、ベストプラクティス

C++ 再帰をマスターする

このチュートリアルでは、C++の再帰関数を探求し、その仕組みを理解し、実践的な例を見ていきます。

自分自身を呼び出す関数を再帰関数と呼びます。この強力な技法を再帰と呼びます。


C++ での再帰の仕組み

void recurse()
{
    // 再帰前のコード
    recurse(); // 再帰呼び出し
    // 再帰後のコード
}

int main()
{
    // セットアップコード
    recurse();
    // クリーンアップコード
}

以下の図は再帰の繰り返し自己呼び出しの性質を示しています。

C++再帰完全ガイド:概念、実例、ベストプラクティス

再帰はベース条件が満たされるまで続きます。

無限再帰を避けるため、条件ガード(例: if…else)で、再帰呼び出しを行うブランチを1つだけに制限します。


実例 1: 再帰で階乗を計算

// n! = 1 × 2 × … × n を計算
#include <iostream>
using namespace std;

int factorial(int);

int main()
{
    int n, result;
    cout << "Enter a non-negative number: ";
    cin >> n;
    result = factorial(n);
    cout << "Factorial of " << n << " = " << result;
    return 0;
}

int factorial(int n)
{
    if (n > 1)
        return n * factorial(n - 1);
    else
        return 1;
}

出力

Enter a non-negative number: 4
Factorial of 4 = 24

階乗プログラムの仕組み

C++再帰完全ガイド:概念、実例、ベストプラクティス

factorial() 関数は繰り返し自分自身を呼び出し、毎回 n を1ずつ減らします。n が1以下になると1を返し、再帰が巻き戻って最終結果を生成します。


C++ で再帰を使うメリットとデメリット

以下に再帰の主な利点と欠点をまとめます。


利点


欠点


再帰をいつ、どう使うかを理解することで、一般的な落とし穴を避けながら、よりクリーンで保守しやすいC++コードが書けます。

C言語

  1. C++演算子完全ガイド:算術・代入・関係・論理・ビット演算子と実例
  2. C++コメント完全ガイド:読みやすく保守しやすいコードのためのベストプラクティス
  3. C++クラステンプレート完全ガイド:実践的なジェネリックプログラミング
  4. C言語再帰のマスター:ベストプラクティスと終了条件
  5. C++プログラミング言語:概要と主要機能
  6. C++定数とリテラル完全解説:型、構文、ベストプラクティス
  7. C++演算子完全ガイド:種類、使い方、ベストプラクティス
  8. C++数値型完全ガイド:実践的な使い方と数学関数
  9. C++リファレンス完全理解:重要概念とポインタとの違い
  10. C++テンプレート完全ガイド:ジェネリックプログラミングの基礎
  11. C++プリプロセッサ完全解説:ディレクティブがコードをどう形作るか