Граммотное использование "&" при создании объектов и описании функций
Код:
class Foo
{
//...
function Foo()
{
// ...
}
//...
};
$bar =& Foo();
{
//...
function Foo()
{
// ...
}
//...
};
$bar =& Foo();
или так
Код:
function &Foo($param)
{
return ++$param;
}
$bar = &Foo(3);
{
return ++$param;
}
$bar = &Foo(3);
Только умоляю, не отсылайте меня к hhttp://ua2.php.net/manual/en/language.oop.newref.php и к другим подобным ресурсам. Я все внимательно прочитал, там куча примеров, где показано, как и куда может ссылаться $bar при использовании ссылок. Я просто не пойму для чего это может понадобиться, где практическое применение всему этому?
Где-то вычитал, что , если при создании объектов использовать конструкцию =&, тогда корректно вызываются деструкторы. Не знаю, на сколько этому можно верить.
На php перешел после c++.
Допустим, там можно создать объекты как
CFoo foo;
foo.value = 2;
foo.func(3);
так и
CFoo* foo = new CFoo;
foo->value = 2;
foo->func(3);
delete foo;
Возможно это является некой аналогией способам
Код:
$bar = new Foo()
и
$bar =& new Foo()
и
$bar =& new Foo()
???
Огромное спасибо всем тем, кто дочитал до конца :)