C++の引用の簡単なまとめ

1145 ワード

関数パラメータとして参照
多くの関数のパラメータは の方法で、関数は一時的なオブジェクトを作成してデータを保存し、メモリのオーバーヘッドを消費します.参照はできず、特定の場合に必要な選択です.sample code :
void swap(int& a, int& b)    //     
{
    int t = a;
    a = b;
    b = t;
}

void main()
{
    int a = 5;
    int b = 2;
    swap(a, b);
}

パラメータとして参照を使用するには、次の手順に従います.
  • 関数のパラメータは主調関数のパラメータの別名に相当し、操作の対象は実は同じである.
  • 参照パラメータはメモリにコピーされず、実パラメータを直接操作します.
  • はポインタと同様に機能するが、ポインタを使用する場合は* の操作を常に使用する必要がある.

  • 常引用
    プログラム効率を向上させ、関数値を変更しないようにするには、通常参照を使用することを推奨します.sample code :
    int a;
    const int& p_a = a;
    a = 3;    //   
    p_a = 2;    //   
    

    戻り値として参照
    戻り値として参照を使用すると、返されるコピーが生成されず、スペースのオーバーヘッドを節約できるという最大のメリットがあります.sample code :
    template
    T& max( T& a, T& b)
    {
        return a < b ? b : a;
    }
    

    少しまとめて
  • 参照の目的は主にパラメータ伝達に用いられ、大きなブロックデータの伝達効率とメモリ空間分配の問題を解決するために用いられる.
  • 参照パラメータは、関数伝達においてコピーを生成せず、効率を向上させ、constによって常参照を設定し、データが直列に変更されないことを保証することができる.
  • 参照とポインタには一定の違いがあるが、可読性が高いため、参照の使用を推奨する.