gc_get_pointer_safety
gc_get_pointer_safety (std::get_pointer_safety)
<memory> 헤더에 정의되어 있어요. 구현이 정의하는 포인터 안전성 모델을 얻어요. 반환값은 std::pointer_safety 타입 값이에요. C++11부터 도입, C++23에서 제거됐어요.
출처: cppreference
본문
std::pointer_safety get_pointer_safety() noexcept;
(C++11부터, C++23에서 제거)
구현이 정의하는 포인터 안전성 모델을 얻어요. 이 값은 std::pointer_safety 타입이에요.
매개변수
없음.
반환값
이 구현이 사용하는 포인터 안전성 모드.
예제
#include <iostream>
#include <memory>
int main()
{
std::cout << "Pointer safety: ";
switch (std::get_pointer_safety())
{
case std::pointer_safety::strict:
std::cout << "strict\n";
break;
case std::pointer_safety::preferred:
std::cout << "preferred\n";
break;
case std::pointer_safety::relaxed:
std::cout << "relaxed\n";
break;
}
}
이 함수는 GC 지원 환경에서 어떤 포인터 안전성 모델이 활성화되어 있는지 확인하는 데 쓰였어요. 대부분의 실용적 구현은 relaxed를 반환해요. C++23에서 제거됐으므로 새 코드에서는 사용하지 않아요.