一代码示例
//模板方法
template <typename T>
void PrintMsg(T value)
{
cout << value << endl;
}
//模版类
template <typename T, int N>
class TabArray
{
private:
T array_[N];
public:
int getSize() const
{
return N;
}
};
int main()
{
PrintMsg(1);
PrintMsg("测试 123");
TabArray<int, 3> iTab;
cout << iTab.getSize() << endl;
TabArray<std::string, 5> strTab;
cout << strTab.getSize() << endl;
return 0;
}
模板的基本原理就是你制定规则,然后编译器帮你去写代码。有好处也有坏处,如果你的模板太过于复杂,阅读起来太费劲儿了,容易得不偿失,还不如去做重载啥的哦。
不过在日志系统等重复性工作模式的情况下使用还是不错的