로딩
요청 처리 중입니다...

std::conditional

 std::conditional

※ 대부분의 코드는 VS2019 기준으로 만들어져있는 코드를 가져왔습니다. 컴파일 타임 때 조건에 따라 "타입"이 바뀌어야 하는 경우가 있을 수 있습니다.

특히나 C++에서 문자열을 처리할 경우 ANSI char와 Unicode의 char(wchar_t)를 처리해야할 경우, 코드를 2벌로 만들어야 하는 번거로움이 있습니다. 이때 이것을 좀 더 깔끔하게 처리하기 위해서 할 수 있는 방법은 2가지가 있습니다.

일반적으로 전처리를 이용하는 것이 가장 정상적인 방법입니다. #if defined(_UNICODE) #define TCHAR wchar_t #else #define TCHAR char #endif 하지만 이렇게 할 경우에 둘 중 하나만 쓸 수 있을 뿐더러, 라이브러리로 제공을 한다거나 할 경우 양자 택일을 무조건 해야만 하는 문제가 있습니다.

그렇다고 코드를 ANSI, UNICODE로 2벌을 만드는 것도 번거로운 일이죠. 이런 식으로 뭔가 컴파일 타임 때에 "특정 조건"에 의해 데...

원문 링크 : std::conditional