차이

2014-12-06 3 views
3

차이

public struct X{ 
public: 
    int A;}; 

public value struct X{ 
public: 
    int A;}; 

이 어떻게 다른에 하나를 변환 할 수 있습니다 사이의 차이점은 무엇입니까?

답변

4

첫 번째는 일반적인 C++ 구조입니다.

value struct을 사용하면 C++/CLI 값 유형 (.NET 구조)이 생성됩니다. 일반적으로 메모리 레이아웃이 동일하면 Marshal::PtrToStructure과 같은 것을 사용하여 직접 데이터를 복사 할 수 있지만 일반적으로 하나에서 다른 것으로 수동으로 복사하려고합니다. 그러나 이렇게하면 boxed value struct이 반환되므로 수동 복사가 더 효율적일 수 있습니다.