std::initializer_list:接收可变形参个数函数的参数
作者:互联网
如果要向函数中传递个数不确定但类型一样的实参,则可以在函数用std::initializer_list接收。std::initializer_list对象中的元素永远是常量值,我们无法改变std::initializer_list对象中元素的值。
void debugValue(const std::initializer_list<QJsonObject> & list,const QString & string)
{
qDebug()<<"string:"<<string;
std::for_each(list.begin(),list.end(),[](const QJsonObject & obj)
{
qDebug()<<obj;
});
}
#define debug qDebug()<<
int main(int argc, char *argv[])
{
debugValue({QJsonObject(),QJsonObject(),QJsonObject()},"传入3个");
debug endl;
debugValue({QJsonObject(),QJsonObject()},"传入2个");
}
放进std::initializer_list里的值要放到{}里。
标签:std,const,函数,list,个数,initializer 来源: https://blog.csdn.net/kenfan1647/article/details/113437871