我知道您可以在C#中做到:
class Account<T>
{
T id = default(T);
}
,它为模板化的id
值分配数据类型的默认值。如何在C ++中做同样的事情?
答案 0 :(得分:5)
template <class T>
class Account
{
T id{};
};
答案 1 :(得分:1)
如果要将构造函数设为默认参数,则可以提供构造函数并执行以下操作
template <class T>
class Account<T>
{
T id;
Account( T id = T{}) : id{ id } {}
};
但是,如果您只想使用默认构造函数(如您提供的代码一样),请使用T id{};
而不是T id = default(T);