1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include <iostream> #include <cstring> template <typename T> inline T const& max (T const& a, T const& b) { std::cout << "max<T> - " << a << ", " << b << "\n"; return a < b ? b : a; } inline char const* const& max (char const* const& a, char const* const& b) { std::cout << "max - " << a << ", " << b << "\n"; return std::strcmp(a,b) < 0 ? b : a; } template <typename T> inline T const& max (T const& a, T const& b, T const& c) { return max (max(a,b), c); } int main () { const char* s1 = "frederic"; const char* s2 = "anica"; const char* s3 = "lucas"; ::max(s1, s2, s3); } |
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KCnRlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbmxpbmUgVCBjb25zdCYgbWF4IChUIGNvbnN0JiBhLCBUIGNvbnN0JiBiKSAKeyAKICAgIHN0ZDo6Y291dCA8PCAibWF4PFQ+IC0gIiA8PCBhIDw8ICIsICIgPDwgYiA8PCAiXG4iOwogICAgcmV0dXJuIGEgPCBiID8gYiA6IGE7IAp9CgppbmxpbmUgY2hhciBjb25zdCogY29uc3QmIG1heCAoY2hhciBjb25zdCogY29uc3QmIGEsIGNoYXIgY29uc3QqIGNvbnN0JiBiKQp7IAogICAgc3RkOjpjb3V0IDw8ICJtYXggLSAiIDw8IGEgPDwgIiwgIiA8PCBiIDw8ICJcbiI7CiAgICByZXR1cm4gc3RkOjpzdHJjbXAoYSxiKSA8IDAgPyBiIDogYTsgCn0gCgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gaW5saW5lIFQgY29uc3QmIG1heCAoVCBjb25zdCYgYSwgVCBjb25zdCYgYiwgVCBjb25zdCYgYykKewogICAgcmV0dXJuIG1heCAobWF4KGEsYiksIGMpOwp9CgppbnQgbWFpbiAoKSAKeyAKICAgIGNvbnN0IGNoYXIqIHMxID0gImZyZWRlcmljIjsgCiAgICBjb25zdCBjaGFyKiBzMiA9ICJhbmljYSI7IAogICAgY29uc3QgY2hhciogczMgPSAibHVjYXMiOyAKCiAgICA6Om1heChzMSwgczIsIHMzKTsKfQ==
-
upload with new input
-
result: Success time: 0s memory: 2724 kB returned value: 0
max - frederic, anica max - frederic, lucas


