случаях она будет аллоцирована в куче? Конкретно интересует, будет ли аллокация при передаче readonly struct в качестве параметра метода с модификатором in?
а аллокация в куче из-за чего возникает, при создании копии? ты же можешь написать десяток строк и узнать, ты с копией работаешь или нет? ты дольше поисковый запрос будешь подбирать чем на примере проверить. а потом что-то изменить и еще проверить и тд
Параметр in позволяет передать структуру по ссылке, а не по значению, и тогда она не будет скопирована при вызове метода. Но тогда на что будет указывать ссылка? На структуру в стеке вызова? Или она будет аллоцирована в куче и ссылка будет указывать на неё? Вот в чем вопрос Здесь подробнее разбирается, но конкретно этот момент не описан. https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/method-parameters#in-parameter-modifier
до того, как ты ее по ссылке передал, она где была? что изменилось после передачи по ссылке?
Была аллоцирована на стеке, при вызове метода. Видимо ничего не меняется 👍
Обсуждают сегодня