タグ

2013年6月26日のブックマーク (1件)

  • C++「ポインタの参照渡し」と「ポインタ渡し」 | Thinking of oF & iOS

    oFがらみでC++勉強しています。 意味は分かってるんだけど、関数の引数として、 参照渡しとポインタ渡しがC++には存在している。 ちなみにCの時は関数の引数に対して参照渡しはなかった(はず)。 結果から行くと、 ポインタ渡しの場合は、呼び出し側が引数として、アドレスを渡す必要がある。 参照渡しの場合は、呼び出し側が引数として、ままオブジェクトを渡す。 コードは、 //ポインタ渡し FuncA(int *p) { *p = 2; } //参照渡し FuncB(int &p) { // 参照=エイリアスなので、中身(値)は変更出来るが、 // アドレスは変更できない p = 10; } void main() { int a = 1; int* pa = &a; // アドレスを渡す FuncA(pa); // まま変数を渡す FuncB(a); } これは、全く問題なし! あ

    dd0125
    dd0125 2013/06/26
    値渡しは値のコピーを渡す。ポインタ渡しはメモリのアドレスを渡す。参照渡しはオブジェクトそのものを渡す。内容はオブジェクトの指す先による。