170 похожих чатов

Если при запуске программы код начинает работать с функции Main

а локальные все переменные хранятся в стэке тогда в чем смысл heap или я что то не правильно понял ?

16 ответов

12 просмотров

в стеке может быть либо значение, либо ссылка на кучу

На стеке хранятся только значимые типы данных, и ссылки на кучу с переменными ссылочных типов. В стеке все хранить не будешь.

Hesu- Автор вопроса
Hesu
локальные обекты хранятся только в стэке

Возможно ты перепутал основы работы GC, там описывается, что верхушкой не удаляемых обьектов является, локальные переменные, статические члены, и параметры. Но, если обьект ссылочный, он все равно хранится на куче, а ссылка на стеке.

Hesu
локальные обекты хранятся только в стэке

размер стека не такой уж и большой)

Hesu- Автор вопроса
Пользователь 61978
Возможно ты перепутал основы работы GC, там описыв...

Тогда почему мы неможем использывать null check оператор ?. к локальным переменным ?

Hesu
Тогда почему мы неможем использывать null check оп...

Судя по всему это IDE не дает говнокодить, вызывать переменные класса без инициализации.

Пользователь 61978
Судя по всему это IDE не дает говнокодить, вызыват...

или он хочет сделать var i = 0; i?.ToString(); или типа того)

Пользователь 61978
Вот так, да нельзя.

ну это уже другая ситуация)

Пользователь 61978
Вот так, да нельзя.

так оно и без ? подсветится ошибкой

Пользователь 61978
Вот так, да нельзя.

переменная не инициализирована

Hesu- Автор вопроса

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта