在C#中,我知道您可以使用default关键字将默认值指定为0到值类型,将null指定为引用类型,对于结构类型,相应地分配单个成员.据我所知,C++中没有默认值.在使用C++编程时,您将采用什么方法来获取与Generics的默认关键字相同的功能?
Jam*_*lis 11
假设类型是default-constructible,您可以使用值初始化.例如,
template <typename T>
T get()
{
return T(); // returns a value-initialized object of type T
}
Run Code Online (Sandbox Code Playgroud)
如果类型不是默认构造的,通常需要提供默认使用.例如,
template <typename T>
T get(const T& default_value = T())
{
return default_value;
}
Run Code Online (Sandbox Code Playgroud)
如果类型是default-constructible,则可以不带参数调用此函数.对于其他类型,您可以提供要返回的值.