c++/cli value class vs ref class

프로그래밍 일반에 관한 포럼입니다.

운영자: 류광

Locked
비회원

c++/cli value class vs ref class

전체글 글쓴이: 비회원 » 2009-09-08 10:30

c++/cli 에서
value class VS value struct VS ref class VS ref struct
이 4가지 들의 구분이 좀 잘 되지 않습니다.
각각의 적절한 쓰임과, 다른것들과 비교하였을때 특징같은건 어떤게 있을까요?
자료가 부족한 c++/cli 이다보니 외국의 글도 보았으나 잘 이해가 가지 않네요...
고수님들의 답변 부탁드립니다
http://social.msdn.microsoft.com/Forums ... 1ea6ee578f
이건 외국인이 저와 비슷한 생각으로 질문한 글인데 짧은 영어라 봐도 잘모르겠습니다ㅠㅠ

rusad
전체글: 136
가입일: 2003-12-30 17:58

전체글 글쓴이: rusad » 2009-09-08 11:23

struct, class는 내부의 default visiblity가 public인지 private인지의 차이만 있습니다. (c++과 같습니다.)

ref와 value는 cli에서 reference type인지 value type인지를 결정해 줍니다.

value 은 System::ValueType을 상속받는다고 보시면 됩니다
(c#에서 struct와 같은 의미 입니다)
그렇게 때문에 argument 없는 생성자(default 생성자)는 사용자가 정의 할수 없게 됩니다.
로망은 나의 힘!

비회원

전체글 글쓴이: 비회원 » 2009-09-09 16:16

이 둘은 네이티브 C++의 struct, class 와는 다릅니다.
기본 가시성의 차이는 부수적인 것에 불과하고 진짜 차이점은 참조 방식에 있습니다.

C#에서 struct는 class와 달리 값에 의한 참조만 가능합니다.
예를 들어 어떤 struct 의 인스턴스를 매개변수로 넘기게 되면 원래 인스턴스가 복사됩니다.
원본 인스턴스를 참조하는 게 아니지요.

Locked

접속 중인 사용자

이 포럼을 보고 있는 사용자: 회원 0 명, 손님 6 명