参照サイト
伝える内容候補
極力参照渡しでメソッド作らない方が良い
普通のメソッドは、値を直接書き換えてるわけじゃないよ。コピーを使ってるんだよ。
メモリの存在←ここまで説明するとなると骨が折れる気がする
参照渡しを使うとどうなるか
引数に渡した変数の値が変更される。
使う側が予想していない値に変わる可能性がある。
普通の関数との違い
参照渡しするメソッドは、破壊的なメソッドと呼ばれる
function swap($a, $b) { $temp = $a; $a = $b; $b = $temp; }
function swap2(&$a, &$b) { $temp = $a; $a = $b; $b = $temp; }
2つの違いは、メソッドを実行した後、使用した変数が変化していること
普通のメソッドの場合
$x = 1; $y = 2; swap($x, $y); echo $x; echo $y;
1,2の順で表示されて、$xと$yの値は変更されない。
$x = 1; $y = 2; swap2($x, $y); echo $x; echo $y;
2、1の順で表示されて、数値が入れ替わっているのがわかる。
日記
来週会社で説明する予定の参照渡しについて。
何を説明しなきゃいけないか、がまとまらない。
説明したい内容が固まれば、それに合わせて説明の内容が変わるので、それをよく考えなきゃ。
今の所