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에서 제거됐으므로 새 코드에서는 사용하지 않아요.

더 알아보기 (Learn more)

cppreference