模板中的变量赋值

Variables assignment in templates

本文关键字:变量 赋值      更新时间:2023-10-16

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

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

template <typename T> 
void InitVar( T& Var){
    Var = T(0);
};

这段代码适用于简单的数字类型的变量,int,double等。但它不适用于不同类型的变量(如字符串(。我知道问题出在T(0(命令上,但我不知道如何用更通用的东西来代替它。

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

首先,这是赋值,而不是初始化。

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