slego
Новичок
Грамотное использование "&" при создании объектов и описании функций
Я уже задавал этот вопрос, меня отправили по адресу, но я все равно вернулся, т.к. понимания не появилось
Как говорится, лучше спросить еще раз и побыть дураком 5 минут, чем оставаться им всю жизнь.
Людиииии.... подскажите, пожалуйста, ну объясните мне на пальцах, ну никак не могу осознать для чего используется ссылка при создании объекта или описании функции. Какие такие исключительные ситуации могут этого требовать.
Ну, например:
или так
Только умоляю, не отсылайте меня больше к http://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()
???
Огромное спасибо всем тем, кто дочитал до конца
Я уже задавал этот вопрос, меня отправили по адресу, но я все равно вернулся, т.к. понимания не появилось

Как говорится, лучше спросить еще раз и побыть дураком 5 минут, чем оставаться им всю жизнь.
Людиииии.... подскажите, пожалуйста, ну объясните мне на пальцах, ну никак не могу осознать для чего используется ссылка при создании объекта или описании функции. Какие такие исключительные ситуации могут этого требовать.

Ну, например:
PHP:
class Foo
{
//...
function Foo()
{
// ...
}
//...
};
$bar =& Foo();
PHP:
function &Foo($param)
{
return ++$param;
}
$bar = &Foo(3);
Где-то вычитал, что , если при создании объектов использовать конструкцию =&, тогда корректно вызываются деструкторы. Не знаю, насколько этому можно верить.
На 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()
???

Огромное спасибо всем тем, кто дочитал до конца
