C ++에서 대상이 파괴 될 때 자동으로 무효화되는 스마트 포인터가 있습니까?
-
05-09-2019 - |
문제
내가 찾았 어 Qpointer. 다른 사람이 있습니까?
해결책
후원 - weak_ptr
사용중인 경우 안전하게 사용하는 멋진 기능이 있습니다. shared_ptr
. 당신은 유지합니다 weak_ptr
관리하는 인스턴스에 대한 참조 shared_ptr
일생. 기본 인스턴스를 사용해야 할 때는 shared_ptr
생성자를 사용하는 인스턴스 shared_ptr
클래스 또는 lock
방법. 기본 인스턴스가 삭제되면 작업이 실패합니다. 사용은 스레드 안전합니다. shared_ptr
수업:
shared_ptr<int> p(new int(5));
weak_ptr<int> q(p);
// some time later
if(shared_ptr<int> r = q.lock())
{
// use *r
}
다른 팁
"boost :: excer_ptr"는 "boost :: shared_ptr"(TR1에서도 사용할 수 있음)와 실제로 잘 작동합니다.
제휴하지 않습니다 StackOverflow