#include <iostream>
template <typename LeftType, typename RightType>
decltype(auto)
max(LeftType leftValue, RightType rightValue)
{
return leftValue < rightValue ? rightValue : leftValue;
}
template <typename LeftType, typename... RestTypes>
decltype(auto)
max(LeftType leftValue, RestTypes... restValues)
{
auto rightValue = max(restValues...);
return leftValue < rightValue ? rightValue : leftValue;
}
int main()
{
std::cout << ::max(1, 2, 3.0, -1.2, 'c', 12ull) << std::endl;
std::cout << ::max(30, 1, -0.2, 'a', 5.4, 102 ) << std::endl;
return 0;
}
와우
결과는?
결과 99 102
네 다음 카이스트
저런 문법이 있단게 더 신긔하군