tmpl/max2.hpp

Das folgende Code-Beispiel stammt aus dem Buch
Objektorientiertes Programmieren in C++ - Ein Tutorial für Ein- und Umsteiger
von Nicolai Josuttis, Addison-Wesley München, 2001
© Copyright Nicolai Josuttis 2001


#include <iostream>
#include <cstring>

template <typename T>
const T& max (const T& a, const T& b)
{
    std::cout << "max<>() fuer T" << std::endl;
    return (a > b ? a : b);
}

template <typename T>
T*const& max (T*const& a, T*const& b)
{
    std::cout << "max<>() fuer T*" << std::endl;
    return (*a > *b ? a : b);
}

inline const char* max (const char* a, const char* b)

    std::cout << "max<>() fuer char*" << std::endl;
    return (std::strcmp(a,b) > 0 ? a : b);
}