c++:リファレンス参加ポインタパラメータ

2837 ワード

よく忘れます:1.関数における参照、ポインタの転送
  • 定数は、通常参照によってバインドする必要がありますが、通常参照は変数
  • をバインドすることができます.
  • ポインタパラメータは、ポインタ変数のコピーに対して、関数でポインタが指す変数値を変更することができるが、転送されるポインタ値
  • を変更することはできない.
    void reset(int *a)//         ,               
    {
    	*a=0;
    }
    int i=42;
    reset(&i);//    
    cout<<i<<endl;//    i  0
    
    
  • 参照パラメトリック関数かっこは、実際には実パラメトリックに伝達された別名であるため、関数体内では実パラメトリックを直接修正し、規則:
  • .
    void reset(int &a)//   ,a i   , a  i,   i   
    {
    	a=0;
    }
    int i=42;
    reset(i);
    cout<<i<<endl;//    i  0
    
    

    2.メモリを割り当てます.スタックから割り当てますか、それともどこから割り当てますか.動的メモリ割り当て1>new 2>delete delete pその機能:ポインタPが指すメモリを解放し、pはnew操作の戻り値の例でなければならない.
    Point *ptr1=new Point;
    delete ptr1;
    

    また、mallocは、free()に対応する.
    まとめ:&の使い方:変数別名、アドレス*の使い方:アドレスを表し、アドレスの内容を指す