c++:リファレンス参加ポインタパラメータ
2837 ワード
よく忘れます:1.関数における参照、ポインタの転送定数は、通常参照によってバインドする必要がありますが、通常参照は変数 をバインドすることができます.ポインタパラメータは、ポインタ変数のコピーに対して、関数でポインタが指す変数値を変更することができるが、転送されるポインタ値 を変更することはできない.参照パラメトリック関数かっこは、実際には実パラメトリックに伝達された別名であるため、関数体内では実パラメトリックを直接修正し、規則: .
2.メモリを割り当てます.スタックから割り当てますか、それともどこから割り当てますか.動的メモリ割り当て1>new 2>delete delete pその機能:ポインタPが指すメモリを解放し、pはnew操作の戻り値の例でなければならない.
また、mallocは、free()に対応する.
まとめ:&の使い方:変数別名、アドレス*の使い方:アドレスを表し、アドレスの内容を指す
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()に対応する.
まとめ:&の使い方:変数別名、アドレス*の使い方:アドレスを表し、アドレスの内容を指す