인프런 커뮤니티 질문&답변
ReadOnlySpan관련
작성
·
563
답변 4
3
Rookiss
지식공유자
중요한건 '복사된 부분이 새로 할당'되는 것은 아닙니다.
바이트 배열 byte[] Array는 여전히 참조값이니
오히려 핀셋처럼 원하는 부분을 찝어주는 형태라고 이해하시면 됩니다.
Array 참조는 동일한 원본을 가리키고 있고,
Offset(시작위치)와 Count(데이터 크기)에 따라 범위를 인식한다고 보시면 됩니다.
사실 C++이었으면 포인터 하나로 (Array + Offset)을 1+1으로 겸할 수 있는데
C#에서는 자유자재로 참조 메모리 주소를 넘나들 수 없으니,
이렇게 별도의 Offset을 이용해서 시작 주소를 판단한 것입니다.
2
1
BBAKK
질문자
그림으로 친절하게 설명해주셔서 감사합니다 ^^
Array의 offset을 사용자가 원하는 위치로 재설정해서 특정 범위만 참조할 수 있도록 랩핑해서 반환하는거라고 이해하면 되나요?
0





