我是使用初始化列表的新手,我想知道它们是否与其他 stl 容器类似。我的意思是他们复制价值观吗?我想要做的是一个简单的 min() 函数,如下所示:
template <class T> T& minArgs(const std::initializer_list<T&>& Arguments)
{
const T* Smallest = Arguments.begin();
for (const T* I = begin(Arguments); I != end(Arguments); ++I)
{
if (*I < *Smallest) Smallest = I;
}
return *Smallest;
}
但是,当我调用该函数时,我从 GCC 得到了这个:
error: 'const' qualifiers cannot be applied to 'int&'
我一直在玩这个,似乎 initializer_lists 可能无法满足我的要求;我希望该函数也能排除非 POD 参数。va_list 会是更好的选择吗?
谢谢!