Native Code Type 에 대한 Managed Code Type 을 보면 다음과 같은 것이 있다.
| Native Code | Managed Code |
| std::string | String^ |
C++/CLI 에서의 ^ 는 C++ 의 * 에 해당한다. 따라서 ^ 형으로 선언된 변수를 동적으로 메모리에 생성하기 위해서는 gcnew 연산자를 이용한다. 동적으로 생성된 메모리는 delete 와 같은 연산자로 직접 메모리를 해제 해주어야 하지만 gcnew 연산자로 생성된 메모리는 Garbage Collector 가 자동으로 해제 시켜준다. Managed Code 이므로.
System::Byte CCliMemFileEx::ReadByte()
{
System::Byte^ pnValue;
pnValue = gcnew System::Byte();
byte bValue = 0;
m_pMemFileEx->ReadByte(&bValue);
pnValue = bValue;
return *pnValue;
}
댓글 없음:
댓글 쓰기