소개
std::shared_ptr
std::shared_ptr에 Erasure를 입력하세요
이 동작을 이해하는 방법은 std::shared_ptr이 유형 삭제를 수행하는 방식에 있습니다. 생성되면 공유 포인터는 관리되는 개체를 어떻게 삭제해야 하는지 결정하는 삭제자 함수를 저장합니다. 이 삭제자는 명시적으로 지정되거나 삭제를 사용하여 객체를 삭제하도록 기본값으로 설정될 수 있습니다.
소멸자 정보 보존
shared_ptr이 다른 것에서 복사되거나 생성될 때 삭제자 기능은 다음과 같습니다. 보존. 이는 std::shared_ptr
예시 그림
질문에 제공된 코드는 이 기능을 보여줍니다. 다음 줄은 동작을 설명합니다.
<code class="cpp">v.push_back(std::shared_ptr<test>(new test()));</code>
여기서 테스트 클래스 인스턴스에 대한 shared_ptr이 생성되어 벡터 v에 추가됩니다.
<code class="cpp">v.push_back(static_cast<std::shared_ptr<void>>(v.back()));</code>
테스트할 shared_ptr은 다음과 같습니다. 명시적으로 std::shared_ptr
표준 준수
std::shared_ptr
결론
std::shared_ptr
위 내용은 std::shared_ptr은 정리 중에 적절한 소멸자 호출을 어떻게 보장합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!