Size: a a a

2020 November 28

VG

Vadim Goncharov in use Perl or die;
Sergey Zhmylove
Ну это понятно, просто в перле логика обращения к переменным обратная, я там выше пример тоже приводил
что значит "обратная" ? такая же
источник

VG

Vadim Goncharov in use Perl or die;
Алексей Клименко
Так это передача указателя. По значению…
так передача "по ссылке" и есть "передача указателя по значению", лол
источник

АК

Алексей Клименко... in use Perl or die;
Нет, при передаче по ссылке синтаксис вызывающего  кода не должен отличаться от передачи по значению.

Иначе по такой логике «можно передать как угодно» – пропадает смысл в самом вопросе.
источник

АК

Алексей Клименко... in use Perl or die;
А вопрос, как раз, x=1; f(x); x == 1 ?
источник

VG

Vadim Goncharov in use Perl or die;
как это не должен? если язык поддерживает так и эдак, то как раз должен, на то в паскале и var
источник

YM

Yuri Myasoedov in use Perl or die;
Sergey Zhmylove
Ну очевидно, что он должен вывести 234 через $"
тфу ты, меня переклинило . так-то ты прав :)
источник

АК

Алексей Клименко... in use Perl or die;
Vadim Goncharov
как это не должен? если язык поддерживает так и эдак, то как раз должен, на то в паскале и var
program Incs;
{$APPTYPE CONSOLE}

type MyIntPointer = ^Integer;

procedure Inc1(v: Integer);
begin
 v := v+1;
end;

procedure Inc2(v: MyIntPointer);
begin
 v^ := v^+1;
end;

procedure Inc3(var v: Integer);
begin
 v := v+1;
end;

var w: Integer;
begin
 w := 1;
 Writeln(w); // 1
 Inc1(w);
 Writeln(w); // 1
 Inc2(@w);
 Writeln(w); // 2
 Inc3(w);
 Writeln(w); // 3
end.
источник

АК

Алексей Клименко... in use Perl or die;
Вызов Inc1 и Inc3 не отличается.

По вызову непонятно, по ссылке он или по значению.
источник

VG

Vadim Goncharov in use Perl or die;
потому что оно в определении процедуры
источник

АК

Алексей Клименко... in use Perl or die;
Vadim Goncharov
потому что оно в определении процедуры
Вот и в C++ так же.
А в Си не так!
источник

VG

Vadim Goncharov in use Perl or die;
плюсы поддерживают то же, что есть в Си, что значит "не так"
источник

АК

Алексей Клименко... in use Perl or die;
В си нельзя по ссылке передать, не взяв указатель. Но это будет _видно_ по вызывающему коду же.
источник

VG

Vadim Goncharov in use Perl or die;
и что?
источник

АК

Алексей Клименко... in use Perl or die;
Это называется «в языке нет передачи по ссылке, только по значению».
источник

АК

Алексей Клименко... in use Perl or die;
Если вы поставите это под сомнение – то тогда определение вообще перестанет иметь смысл.
источник

VG

Vadim Goncharov in use Perl or die;
блядь, а чем же еще является передача по ссылке, как не передачей ссылки =)
источник

АК

Алексей Клименко... in use Perl or die;
Вот ты «просто передаёшь переменную» – а она МЕНЯЕТСЯ.

Вот это по ссылке!
источник

АК

Алексей Клименко... in use Perl or die;
Когда я указатель / реф передаю – очевидно, что то что по нему – может измениться.

Но не сам он.
источник

АК

Алексей Клименко... in use Perl or die;
При передаче указателя по ссылке – может измениться и он сам (неявно там будет указатель на указатель, ага).
источник

АК

Алексей Клименко... in use Perl or die;
А «по значению» – значит что внутри функции я могу делать с переменной что захочу – и не испорчу её версию у вызывающего кода.

Если это «указатель» – то ясно дело, что когда я начну писать по нему – я изменю общую память. Но сам указатель – мой!
источник