해외 c++ 블로그 보다가 누가 std::common_type을 예제로 쓰길래 어떻게쓰나 싶어서 레퍼런스 찾아봤는데 아래처럼 개이상한 표현식이 있는거임



다른건 다 이해갔는데 decltype(false ? std::declval<T1>() : std::declval<T2>()) 이거 보고 눈알 띠용해져서 좀 찾아봤음


근데 :? 연산자 설명이 한페이지가 넘는거임ㅋㅋㅋ





implicit conversion을 이용해서 common type을 찾는 방식인건 알겠는데 만약 다 실패하게되면?


"S F I N A E"


std::void_t에 집어넣어서 common type이 있을 때만 member type이 생기도록 만들어버리는거임ㅋㅋㅋ


STL 수준으로 라이브러리 만드려면 이정도까지 알고 있어야 되는 겁니까? ㅁㅊ