감사합니다. 저는 VS2013 코드에 익숙합니다.이 코드는 C++과 Microsoft의 특정 확장을 혼합 한 것입니다.)관리되지 않는/관리되지 않는 멤버를 관리되는 클래스에 추가
1 : 코드는
ref class Foo {
Bar^ bar_; // somewhere else, bar_ = gcnew Bar...
};
같은 클래스가 지금은 내가
ref class Foo {
Bar^bar_;
Unmanaged* ptr_; // somewhere else, ptr = new Unmanaged();
~Foo() {
this->!Foo();
}
!Foo() {
delete ptr_;
// do I need anything to deal with bar_?
}
};
을 질문 할 수있는 것 같다 온라인 검색에서 관리되지 않는 구성원을 추가해야 할 것있다 이 파이널 라이저/소멸자가가는 길인가?
2) finalizer/destructor를 명시 적으로 작성 했으므로 bar_
에 대한 추가 내용을 작성해야합니까?
3) 더 깨끗한 방법이 있습니까?
감사합니다. @ hans-passant! 순수한 C++ 이었지만 VS2013을 처음 접했으니 한 번 더 후속 조치를 취하십시오. 수업이 일회용인지 어떻게 확인합니까? 그들은 모두 선언문에서 분명합니까? 또한 POD ('bool' 등), 배열 ^','String ^'과 같은 것들도 보았습니다. 예를 들어'ref class array'의 소스에 접근 할 수 없습니까? –
hahaha
IDisposable 인터페이스를 구현할 때. 개체 브라우저는 말할 수 있습니다. 포드는 절대하지 않습니다. –