显式指定类型
max_value<double>(3, 5); // 显式要求用 double
三、类模板
3.1 基本用法
template <typename T> class Box {
T value;
public:
Box(T val) : value(val) {}
T get() const { return value; }
};
使用方式:
Box<int> b1(10);
Box<std::string> b2("Hello");
四、模板的高级特性
4.1 多个模板参数
template <typename T, typename U> class Pair {
public:
T first;
U second;
};
4.2 模板默认参数
template <typename T = int> class MyContainer {
T data;
};
4.3 模板函数重载与 SFINAE
SFINAE(Substitution Failure Is Not An Error)用于控制模板重载选择:
template<typename T>
-> {
std::cout << ;
}
{
std::cout << ;
}

