개체에 개체가있을 때 개체의 수명을 고려해야하는 composition을 사용합니다. 동일한 상황 일 때 unique_ptr
을 사용하지만 객체는 nullptr
일 수 있습니다."가장 짧은"유형의 수명을 관리하는 방법은 무엇입니까?
우리는 외부 개체가 우리 개체를 필요로 할 때 shared_ptr
을 사용합니다. 따라서 마지막 외부 개체가 관심을 잃을 때까지 수명이 연장됩니다.
여기 평생 다른 상황에 대해 물어보고 싶습니다. 개체가 살아야 할 경우 가장 짧은 시간이입니까?
다음은 예입니다. 펑터를 저장하고 계산이 완료된 후 실행합니다. 현재
1. fulfilling its task - therefore it should be able to destroy istelf
or
2. the parent loosing interest in the timer - so the parent should be able to
destroy the object as well
, 나는 독특한 포인터 어색한 구현을 사용 : 그것은이 타이머 객체가 이후에 파괴되는 것을, * 나에게 의미가 있습니다. 이 문제의 좋은 패턴/가이드 라인/구현은 무엇이 될까요?
* 이유 : 1) 펑 터는 다른 자원 2) 타이머가 매우 큰 숫자로 설정 한 다음 부모가 파괴 된 경우, 우리는 일반적으로 '돈) 3 포기 수 있었다 소유 할 수 그 콜백을 호출하고 싶지 않다.
이것은 네트워크 요청에 응답하여 무언가를 계산할 때 스레드 취소와 공통점이 있지만 연결이 갑자기 종료되었습니다. 컴퓨팅을 완료해도 부패는 발생하지 않지만 자원 낭비입니다. – curiousguy