模板中的变量赋值

时间:2014-04-30 12:02:52

标签: c++ templates initialization

我开始使用模板,我想到的是一个简单的问题,但我无法解决它,也无法找到我能在网上理解的解决方案。

我想要一个模板,它将变量初始化为某个标准值,假设为0,(但如果需要,它可以是不同的东西)。 到目前为止,我写了这个简单的代码:

template <typename T> 
void InitVar( T& Var){

    Var = T(0);

};

此代码适用于简单数字类型的变量,int,double等...但它不适用于不同类型的变量,如字符串。 我知道问题是T(0)命令,但我不知道如何用更通用的东西替换它。

特别是我感兴趣的是一个适用于标准数字变量和字符串的代码。有人能帮助我吗?

1 个答案:

答案 0 :(得分:4)

首先,该分配,而不是初始化。

无论如何,您可以使用值初始化:T()
这将零初始化算术类型或调用类类型的默认构造函数。