[PHP-users 23566] Re: 代入演算子=&について教えてください。
konet218 @ ybb.ne.jp
konet218 @ ybb.ne.jp
2004年 11月 8日 (月) 19:36:36 JST
近藤です。
使い道がよく解りません。
代入演算子とはどういった時に重宝するのでしょうか?
きしださんが、
> $o = new Hoge();
> とすると、一旦Hogeのインスタンスを生成して、そのインスタンスのコピーが$a
> に代入されるので、インスタンスがひとつ無駄になります。
と言っておられますが、無駄を無くす為だけに利用するモノなのでしょうか。
# 古いスレッドに反応して申し訳ないです…。
On Wed, 28 Jan 2004 02:27:55 +0900
naoki kishida <kishida @ fk.urban.ne.jp> wrote:
> > 代入演算子 =& について教えてください。
> 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も"どろどろ"になります。
PHP-users メーリングリストの案内