【发布时间】:2020-05-09 12:05:31
【问题描述】:
我知道在 C# 中你可以这样做:
class Account<T>
{
T id = default(T);
}
分配给模板化的id值数据类型的默认值。我怎样才能在 C++ 中做同样的事情?
【问题讨论】:
-
你的意思是构造函数参数默认值,这个参数的类型是
T?
我知道在 C# 中你可以这样做:
class Account<T>
{
T id = default(T);
}
分配给模板化的id值数据类型的默认值。我怎样才能在 C++ 中做同样的事情?
【问题讨论】:
T?
template <class T>
class Account
{
T id{};
};
【讨论】:
如果你想让构造函数默认参数,你可以提供一个构造函数并执行如下操作
template <class T>
class Account<T>
{
T id;
Account( T id = T{}) : id{ id } {}
};
但如果您只想使用默认构造函数(如您提供的代码中所示),请使用 T id{}; 而不是 T id = default(T);
【讨论】: