인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

behappy's profile image
behappy

asked

[MMORPG Game Development Series with C# and Unity] Part 1: Introduction to Basic C# Programming

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

Resolved

Written on

·

618

0

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

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

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

C#

Answer 1

1

rookiss님의 프로필 이미지
rookiss
Instructor

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

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

behappy's profile image
behappy

asked

Ask a question