3
public struct X{
public:
int A;};
및
public value struct X{
public:
int A;};
이 어떻게 다른에 하나를 변환 할 수 있습니다 사이의 차이점은 무엇입니까?
public struct X{
public:
int A;};
및
public value struct X{
public:
int A;};
이 어떻게 다른에 하나를 변환 할 수 있습니다 사이의 차이점은 무엇입니까?
첫 번째는 일반적인 C++ 구조입니다.
value struct
을 사용하면 C++/CLI 값 유형 (.NET 구조)이 생성됩니다. 일반적으로 메모리 레이아웃이 동일하면 Marshal::PtrToStructure
과 같은 것을 사용하여 직접 데이터를 복사 할 수 있지만 일반적으로 하나에서 다른 것으로 수동으로 복사하려고합니다. 그러나 이렇게하면 boxed value struct
이 반환되므로 수동 복사가 더 효율적일 수 있습니다.