Size: a a a

2021 January 23

И

Игорь in dlang.ru
копируется тот стек в котором есть одна переменная к
источник

И

Игорь in dlang.ru
из ф-ции fill
источник

И

Игорь in dlang.ru
Oleg
alias func = void delegate();
func[] cbs;

void fill() {
   for (int k=1; k<=3; ++k)
       cbs ~= () => k.writeln;
}

void main() {
   fill();
   foreach(d; cbs) d();
}

стек исчезает, а печатается 4 4 4 )
исчезает но позднее
источник

И

Игорь in dlang.ru
вообще очень просто - вместо занчения переменной можно печатать её адрес
источник

Е

Евгений in dlang.ru
Oleg
alias func = void delegate();
func[] cbs;

void fill() {
   for (int k=1; k<=3; ++k)
       cbs ~= () => k.writeln;
}

void main() {
   fill();
   foreach(d; cbs) d();
}

стек исчезает, а печатается 4 4 4 )
потому что эти замыкания ссылаются на одну и ту же переменную.
источник

g

gui in dlang.ru
import std;

alias fn = void delegate();
fn[] fns;

fn gen(int k) {
return () => k.writeln;
}

void main() {
foreach(i; 1..4) fns ~= gen(i);
foreach(d; fns) d();
}
источник

DH

Dark Hole in dlang.ru
Спасибо, КО
источник

И

Игорь in dlang.ru
да, можно это так интерпретировать тоже. тут просто контринтуитивно то, что как-бы к - временная переменная
источник

DH

Dark Hole in dlang.ru
Это короче как a = i++ + ++i;
источник

Е

Евгений in dlang.ru
Этот косяк давно обсуждался, причем много раз.
источник

И

Игорь in dlang.ru
с большой долей вероятности это уже отлито в граните и никогда не изменится
источник

DH

Dark Hole in dlang.ru
Евгений
Этот косяк давно обсуждался, причем много раз.
Про плюсы или про замыкания?
источник

И

Игорь in dlang.ru
формулировка помнится такая - вложенное в функцию замыкание использует в качестве контестта фрейм стека внешней ф-ции если это возможно
источник

Е

Евгений in dlang.ru
Dark Hole
Про плюсы или про замыкания?
про замыкания в D.
источник

U

UsernameAK in dlang.ru
Oleg
alias func = void delegate();
func[] cbs;

void fill() {
   for (int k=1; k<=3; ++k)
       cbs ~= () => k.writeln;
}

void main() {
   fill();
   foreach(d; cbs) d();
}

стек исчезает, а печатается 4 4 4 )
хех, а в джаве это была бы ошибка компиляции
источник
2021 January 24

SG

Serg Gini in dlang.ru
Ого, Russel Winder похоже умер. Часто натыкался на его посты на форуме
источник

КП

Константин Пунш... in dlang.ru
Он точно умер?
источник

КП

Константин Пунш... in dlang.ru
https://twitter.com/D_Programming/status/1353165162534981634?s=19 я отсюда узнал, но тут явно не написано, что он в тот мир ушел.
источник

SG

Serg Gini in dlang.ru
Не знаю, я так понял. Может ошибься
источник

SG

Serg Gini in dlang.ru
источник