작성
·
247
답변 1
9
말씀하신대로 여러가지 고려사항이 있는 것이 맞습니다.
16바이트 미만일 때 struct를 사용하라는 것은
MS의 권장사항에 나와있긴 하지만,
실제로 int 5개로 struct를 만들어 테스트 해봐도 스택영역에 할당되기도 합니다.
(정말 확실히 알려면 unsafe 모드로 포인터 주소를 찾아서 스택을 찾아보면 알 수 있습니다)
C# 에서 Heap/Stack과 관련된 세세한 부분은
C# 스펙이 아닌 CLR의 implementation detail에 해당하고
언어 특성상 특별히 신경쓸 내용이 아니기에 언급한 적은 없지만,
마찬가지로 ArraySegment가 스택이라고 단정짓고 설명한 것도 잘못된 설명이 맞습니다.
배열 영역을 쪼개서 쓰는 것이 중점이었고
Heap/Stack은 지나가다가 나온 얘기였는데
잘못된 부분을 예리하게 짚어주셨네요.
감사합니다!