Указатель на указатель

HraKK

Мудак
Команда форума
Указатель на указатель

У нас возник тут такой идиологический спор.
Допустимо ли это? или лучше убирать такие грабли?
 

tony2001

TeaM PHPClub
и как тогда работать с массивом строк ?
а с двумерным массивом строк?

что за вопрос вообще "допустимо ли?" ?
задача требует? язык позволяет? всё, точка.
 

StUV

Rotaredom
HraKK
это нормально для ЯП в которых указатели есть
при чем тут php ?
 

whirlwind

TDD infected, paranoid
HraKK указатель от ссылки чем отличается? указатель надо разыменовывать, а ссылку нет.
 

HraKK

Мудак
Команда форума
Скажем так я не правильно изьяснился. Телепат моду включил)))

Есть допустим указатель. Функция за место того что б возвращать этот указатель, создает указатель на этот указатель.
 

whirlwind

TDD infected, paranoid
HraKK если дело касается PHP то я же сказал - указатель надо разыменовывать. Ты видел в PHP оператор для разыменования указателей? Нет в PHP указателей.
 

HraKK

Мудак
Команда форума
Я не про ПХП:)

-~{}~ 31.08.06 23:32:

Понимаю что не совсем та область где надо задовать но на MSDN не хочу лесть:)
 

dr-sm

Новичок
код мож приведешь? так то да можно
HRESULT IUnknown::QueryInterface(LPUNKNOWN ps, const IID & riid, void **ppvObj);
например в последнем аргументе как раз возвращает значение через указатель на указатель. ты это имел ввиду? так это в сяхЪ так делают, в плюсах ссылко использовать. да и вобще кривовато выглядит, для особых случаев лучше использовать только.
 

HraKK

Мудак
Команда форума
Ладно вернемся к ПХП, заменим указатели на ссылки.
Допустим есть такое
PHP:
class some
{
var $var;
function set($get)
{
$this->var=&$get;
}
function &get()
{
return $this->var;
}
}
$test='test';
$some=new some();
$some->set($test);
echo $some->get();
Тут мы в $var записываем ссылку на $test. Потом возвращаем ссылку на ссылку на $var.

В чем тут грабли?
 

dr-sm

Новичок
вот такЪ уж тогда:
PHP:
class some
{
	private $var;
	public function set(&$get) {
		$this->var =& $get;
	}
	
	public function &get() {
		return $this->var;
	}
} 


$test='test';
$some=new some();
$some->set($test);
echo $some->get()."\n";
$test='test2';
echo $some->get()."\n";
$test3 =& $some->get();
$test3 = 'test3';
echo $some->get()."\n";
$test = 'test4';
echo $some->get()."\n";
-~{}~ 01.09.06 18:50:

у тебя грабли в том что присваиваются значения, а не ссылки
 

HraKK

Мудак
Команда форума
Я не писал рабочий код. У меня присваиваються ссылки :) я просто показал идею.

А граблей тут нету, но мне доказывают что так делать плохо.
Хочу выяснить почему?
 

dr-sm

Новичок
тогда вобще ничего не понятно, как так делать плохо? ссылки что-ли плохо использовать, так это просто средство языка.
идея твоя не ясна короче.
да, и ссылок на ссылки не бывает. ссылки бывают только на значения, прочитай главу 21 мануала.
 
Сверху