2011-01-13 6 views
30

ref class에 대한 좋은 사이트 나 설명 그리고 클래스를 "ref 클래스"로 선언 할시기는 무엇입니까? Managed C++ ref class

MSDN의 설명

기본형

BASE_TYPE (옵션), 나를 위해 충분하지 않았다. ref 클래스 또는 ref struct는 0 개 이상의 관리 인터페이스와 0 개 또는 하나의 ref 유형에서 상속받을 수 있습니다. 값 클래스 또는 값 구조체는 0 개 이상의 관리 인터페이스에서만 상속받을 수 있습니다.

심판

ref 키워드는 함수에 전달하거나 클래스 멤버에 저장됩니다에 클래스 또는 구조는 힙과 기준에 할당됩니다 컴파일러를 알려줍니다. value 키워드는 클래스 또는 구조의 모든 데이터가 함수에 전달되거나 멤버에 저장된다는 것을 컴파일러에 알립니다.

답변

47

기본적으로 ref class은 CLR 클래스입니다. C#에서는 class과 같습니다.

이렇게하면 CLR에서 관리하는 참조 형식이 만들어집니다. C#에서 사용할 수있는 클래스를 만들려면 일반적으로 ref class을 만듭니다. (ref struct은 정확히 똑같은 일을하지만 C++의 표준 클래스와 구조체의 기본 접근성 규칙을 비교합니다.)

참조 용 - 값 유형 (C#에서는 struct)을 만들기 위해 d는 value class 또는 value struct을 사용하십시오.

많은 새 키워드에 대한 설명은 Herb Sutter's post on C++/CLI Keywords입니다. 이것은 C++/CLI를 처음 접했을 때 유용한 참고서입니다. 단단한 C++ 배경을 가지고 있습니다.

+0

기본 개념을 멋지게 설명했습니다. 고맙습니다! 그게 정확히 내가 뭘 찾고 있었는지 :) –