[PHP-users 20075]Re: 代入演算子=&について教えてください。
naoki kishida
kishida @ fk.urban.ne.jp
2004年 1月 28日 (水) 02:27:55 JST
きしだです
> 代入演算子 =& について教えてください。
Cでいうところのポインタの代入になります。
通常の=演算子の場合は、コピーが代入されますが、=&の場合は参照が代入され
ます。
class Hoge{
var $a;
}
というクラスがあるとして
$o = new Hoge();
とすると、一旦Hogeのインスタンスを生成して、そのインスタンスのコピーが$a
に代入されるので、インスタンスがひとつ無駄になります。
また
$o1 =& new Hoge();
$o1->a = "でろでろ";
として
$o2 = $o1;
$o3 =& $o1;
とすると
$o2->a = "だらだら";
としても$o1->aは"でろでろ"のままですが、
$o3->a = "どろどろ";
とすると$o1->aも"どろどろ"になります。
----
岸田 哉生(きしだ なおき)
email:kishida @ fk.urban.ne.jp
http://www.fk.urban.ne.jp/home/kishida/
PHP-users メーリングリストの案内