Size: a a a

2021 November 30

С

Слава in DotNetRuChat
Почему это ссылки на стеке нельзя хранить?
источник

С

Слава in DotNetRuChat
А где же их ещё хранить?
источник

A

Anton in DotNetRuChat
он мб другое имел ввиду
источник

С

Слава in DotNetRuChat
Рация на тачанках
источник

K

Konstantin in DotNetRuChat
Как я понял, разговор про объекты ссылочного типа
источник

K

Konstantin in DotNetRuChat
Почему это ссылки на стеке нельзя хранить?
источник

С

Слава in DotNetRuChat
Ну и почему нельзя-то?
источник

С

Слава in DotNetRuChat
string ссылочного типа
источник

K

Konstantin in DotNetRuChat
Дык они же лежат в хипе
источник

K

Konstantin in DotNetRuChat
Если это поле класса/структуры
источник

С

Слава in DotNetRuChat
А ссылка на var s = "huy"; будет лежать в стеке
источник

С

Слава in DotNetRuChat
Ну да, если это поле
источник

K

Konstantin in DotNetRuChat
Это другое, как говорится)
источник

K

Konstantin in DotNetRuChat
Понятно, что нативно тоже можно в стек ссылку положить)
источник

В

Владислав in DotNetRuChat
С чего бы она будет лежать на стеке? Как на стек положить ссылку и как потом ее учитывать для очистки сборщиком? Это ссылочный тип, лежит в хипе
источник

В

Владислав in DotNetRuChat
Вот сейчас не понял. Что сборщик отслеживает? Он хип отслеживает, если вы в структуре ссылки якобы расположите, то сборщик снесет их к херам. Поэтому такая структура будет на куче. Если делаете класс со структурой внутри (инты), то они тоже полететь на хип могут почти всегда
источник

В

Владислав in DotNetRuChat
Структура не может иметь неопределенного размера полей. Ссылки туда не входят
источник

С

Слава in DotNetRuChat
Вы неправы. Любая локальная переменная - это стек. Как её будет отслеживать сборщик? Как обычно.
источник

В

Владислав in DotNetRuChat
В чем скорость стека? Он просто сдвигает область памяти, мгновенная очистка и выделение, эта область не анализируется. С чего вы взяли, что локальные переменные это стек?
источник

L

Liza in DotNetRuChat
источник