• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

구조체와 new에대해 질문드립니다

23.03.06 15:10 작성 조회수 421

0

구조체 타입을 new로 생성해 값을 복사할 경우, 얕은 복사가 일어날까 싶어 확인해보니 깊은 복사가 일어나는 것을 확인했습니다.

구조체는 기본적으로 복사 타입으로 생성되지만, new를 통해 생성된 변수는 힙영역에 참조 타입으로 생성되는걸로 알고 있습니다.

구조체에 new로 동적할당을 할경우 특별하게 작용하는 것인지, 혹은 제가 잘못 이해한 것인지 질문드립니다.

답변 1

답변을 작성해보세요.

1

C++은 그렇게 동작하지만, C#은 그렇지 않습니다.
image기본적으로 struct를 new 하더라도 Stack 메모리이고 복사 방식입니다.

하지만 말씀하시는 상황은, 아마도 class에 '기생하는' struct의 경우일 것 같은데요.
image위 경우 struct라고 하더라도 class에 딸려서 힙에 만들어집니다.