And*_*rew 4 c++ templates function
我想写一个符号函数模板.我是这样做的:
template<class T> T sign(const T &value)
{
if (value > 0) return 1;
else if (value < 0) return -1;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它正在工作,但我不确定当实际上我的函数应该返回T时返回数值是否合适.这个函数好吗?
不,T
可能是没有整数强制转换的类型.
在这种情况下,它将在编译时失败.
如果您希望它是一个整数设计,请声明它.
template<class T> int sign(const T &value)
{
if (value > 0) return 1;
else if (value < 0) return -1;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
142 次 |
最近记录: |