一个模板,三种类型
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)
#include <iostream>
#include <string>
/* 参数写 const T & ,字符串就不用白拷一份 */
template <typename T>
const T &bigger(const T &a, const T &b) { return (a > b) ? a : b; }
template <typename T>
T twice(T x) { return x + x; }
int main() {
std::cout << bigger(3, 9) << "/"
<< bigger(1.5, 0.5) << "/"
<< bigger(std::string("apple"), std::string("pear")) << "/"
<< twice(5) << "/" << twice(std::string("ab")) << "\n";
return 0;
}
全部评论