News for hackers. Stuff that matters.
Re:The joy of max() by Too on Saturday March 31, 2018 @02:46AM (#16722117)
Assuming the single template argument version. If T has an implicit constructor taking type R as argument, wouldn't the second argument into max of type R be implicitly converted to T before getting passed to the max function? So there is no need for a special version taking both L and R?

This is a property of c++ implicit constructor rules, it is not unique to this function. In most cases this is something you want to avoid but for integer promotion it can some times be useful.

Re:The joy of max() by smitherfield on Saturday March 31, 2018 @03:17AM (#16722200)
Nope, template type deduction never implicitly converts: https://godbolt.org/g/stZBK1
Re:The joy of max() by Too on Saturday March 31, 2018 @03:41AM (#16722255)
Oh, "conflicting types for parameter 'T' ('T2' vs. 'T1')". I'm surprised but it's a nice surprise. Finally something in c++ where safety is valued more than implicit dangerous magic.
Re:The joy of max() by bstamour on Saturday March 31, 2018 @08:07AM (#16722944)
C++'s type system has always been stricter than C's. Even the following, totally valid C program, is ill-formed C++

    int* x = malloc(5 * sizeof (int));
because in C++ you cannot implicitly cast a void pointer.