Самым распространённым ответом на этот вопрос является, что значение значимых типов хранятся в стеке, а ссылочных в куче. Но оказывается там всё обстоит сложнее.
Я решил полистать Рихтера и наткнулся на момент где в книге объясняется, что делает оператор new(), однако там объяснено как он выделает память для ссылочных типов, но ничего не сказано про значимые. Я запутался, помогите)
int a = 0;иint a = new int();это 2 эквивалентные записи.newлезет в кучу только при создании объектов. При создании структур это будет либо стек, либо регистр процессора для числовых примитивов. Например тот жеnew int()по факту ничего не выделяет ни в стеке, не в куче, а просто присваивает значение регистру процессора для дальнейшей работы. – aepot Jun 28 '23 at 20:24Mainэкземпляр структурыAdder? – VladD Jun 28 '23 at 20:41