Паррррни, нужны ваши знания в .нете. Вопрос в чем, что происходит при передачи параметра в метод? Я так понимаю, что выделяется в стеке место под эти параметры и переданные значения копируются в эту память?
Паррррни, нужны ваши знания в .нете. Вопрос в чем, что происходит при передачи параметра в метод? Я так понимаю, что выделяется в стеке место под эти параметры и переданные значения копируются в эту память?
А разве оно не передаёт референс на объект? Ну что-то вроде указателя, в джаве это так
Ок, перефразирую вопрос. Что в стек кладется при обычной передаче и передаче через реф? При обычной, как я полагаю, копируются данные из стека, а при рефе как это работает?
Паррррни, нужны ваши знания в .нете. Вопрос в чем, что происходит при передачи параметра в метод? Я так понимаю, что выделяется в стеке место под эти параметры и переданные значения копируются в эту память?
В стеке выделяется место под переменные метода. Значимые переменные копируются по значению, ссылочные - по ссылке. Если передаёте через ref, передаётся ссылка
Ну смотрите, когда мы передаём класс метод, то мы передаём ссылку на адрес в куче. Но фактически мы копируем данные из стека с адресом на эту кучу, как и при передаче структур. А вот как передается ссылка на стек
На асме чтоб передать переменную в метод, ты кладешь ее в определенный регистр, можно и через стек, но это фокусничать надо ибо в стек при прыжках в метод сохраняется "обратный адрес")) вот) яхз как на шарпах
Ну смотрите, когда мы передаём класс метод, то мы передаём ссылку на адрес в куче. Но фактически мы копируем данные из стека с адресом на эту кучу, как и при передаче структур. А вот как передается ссылка на стек
Так ссылка на адрес в стеке, какая разница то. Указатель на место в памяти, что для кучи, что для стека