大家解释一下该模板函数第二个参数咋回事,如何没有变量名称呢
大家解释一下该模板函数第二个参数怎么回事,怎么没有变量名称呢?
template <class _Ty> inline _Ty _FARQ *_Allocate(_PDFT _N, _Ty _FARQ *)
{
if (_N < 0)
_N = 0;
return ((_Ty _FARQ *)operator new(
(_SIZT)_N * sizeof (_Ty)));
}
------解决方案--------------------
防止编译警告,有时候如果有函数参数参数未使用就有警告。
这个时候不写参数名就不会有了。
------解决方案--------------------
这个惯用法,貌似超过楼主现在的理解力,先存着疑问吧,等你经验多了,自然会知道。
STL库里可以说满是这样的代码,具体去看《STL源码剖析》
------解决方案--------------------
加上个模板类型相关的参数可以让函数具有自动推导模板类型的功能。
template <class _Ty> inline _Ty _FARQ *_Allocate(_PDFT _N, _Ty _FARQ *)
{
if (_N < 0)
_N = 0;
return ((_Ty _FARQ *)operator new(
(_SIZT)_N * sizeof (_Ty)));
}
------解决方案--------------------
防止编译警告,有时候如果有函数参数参数未使用就有警告。
这个时候不写参数名就不会有了。
------解决方案--------------------
这个惯用法,貌似超过楼主现在的理解力,先存着疑问吧,等你经验多了,自然会知道。
STL库里可以说满是这样的代码,具体去看《STL源码剖析》
------解决方案--------------------
加上个模板类型相关的参数可以让函数具有自动推导模板类型的功能。