[c++] __has_include

__has_include 지시어

__has_include는 C++17 표준부터 지원되는, 컴파일러에서 특정 헤더 파일을 인클루드할 수 있는지의 여부를 확인하는 데 사용되는 지시어입니다. 이 지시어는 주어진 헤더 파일이 존재하는지, 그리고 컴파일러가 해당 헤더 파일을 지원하는지 여부를 확인하기 위해 사용됩니다.

예를 들어, 다음과 같이 사용할 수 있습니다:

#if __has_include(<optional>)
#include <optional>
#endif

위 코드는 <optional> 헤더 파일이 해당 컴파일러에서 지원되는지를 확인하여, 지원되는 경우 해당 헤더 파일을 인클루드합니다.

__has_include는 컴파일 타임에 헤더 파일이 존재하는지 확인하므로, 코드를 보다 유연하고 이식성 있게 만들 수 있습니다.

참고 자료

위의 예시 및 설명을 참고하여, __has_include 지시어에 대해 좀 더 자세히 알아보실 수 있습니다.