1 /* 2 * max.cpp 3 * 4 * Beispiel-Programm std::max-Funktionstemplate 5 * 6 * Autor: H.Drachenfels 7 * Erstellt am: 11.5.2023 8 */
9
10 #include <iostream>
11 #include <algorithm>
12
13 int main()
14 {
15 // T = int
16 std::cout << "std::max(1, 2) = "
17 << std::max(1, 2)
18 << '\n';
19
20 // T = std::string
21 std::cout << "std::max(std::string(\"abc\"), std::string(\"def\")) = "
22 << '\"' << std::max(std::string("abc"), std::string("def")) << '\"'
23 << '\n';
24
25 // T = const char *
26 const char *a = "abc";
27 const char *b = "def";
28 std::cout << '\"' << a << "\" = " << static_cast<const void*>(a) << '\n';
29 std::cout << '\"' << b << "\" = " << static_cast<const void*>(b) << '\n';
30 std::cout << "std::max(\"" << a << "\", \"" << b << "\") = "
31 << '\"' << std::max(a, b) << '\"'
32 << '\n';
33
34 const char def[] = "def";
35 const char abc[] = "abc";
36 a = abc;
37 b = def;
38 std::cout << '\"' << a << "\" = " << static_cast<const void*>(a) << '\n';
39 std::cout << '\"' << b << "\" = " << static_cast<const void*>(b) << '\n';
40 std::cout << "std::max(\"" << a << "\", \"" << b << "\") = "
41 << '\"' << std::max(a, b) << '\"'
42 << '\n';
43
44 // T = char[4]
45 std::cout << "std::max(\"abc\", \"def\") = "
46 << '\"' << std::max("abc", "def") << '\"'
47 << '\n';
48
49 // T = std::string
50 std::cout << "std::max<std::string>(\"abc\", \"def\") = "
51 << '\"' << std::max<std::string>("abc", "def") << '\"'
52 << '\n';
53 }
54