The max() macro or template takes two values and returns the highest. What if you need to calculate the maximum of three values? You don’t need to write a special function template for this purpose. Instead, apply max() to two arbitrary values of the three, and then apply max() once again to the result and the third value:
int l=10, m=11, n=7;int highest = max(l,max(n,m)); //highest = 11