Namespaces
Variants

std:: declare_reachable

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
declare_reachable
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
헤더 파일에 정의됨 <memory>
void declare_reachable ( void * p ) ;
(C++11부터)
(C++23에서 제거됨)

포인터 p 가 참조하는 객체를 도달 가능 상태로 선언합니다. 도달 가능 객체는 모든 포인터가 파괴되더라도 가비지 컬렉터에 의해 삭제되지 않거나 누수 감지기에 의해 누수로 간주되지 않습니다. 객체는 여러 번 도달 가능으로 선언될 수 있으며, 이 경우 이 속성을 제거하려면 std::undeclare_reachable 을 여러 번 호출해야 합니다. 예를 들어, XOR 연결 리스트 는 구현에 가비지 컬렉션이 활성화된 경우 해당 노드들을 도달 가능으로 선언해야 합니다.

목차

매개변수

p - 안전하게 파생된 포인터 또는 널 포인터

반환값

(없음)

예외

시스템이 도달 가능한 객체를 추적하는 데 필요한 메모리를 할당할 수 없는 경우 std::bad_alloc 을(를) throw할 수 있습니다.

참고 항목

(C++11) (removed in C++23)
객체가 재활용될 수 있음을 선언합니다
(함수 템플릿)