其他分享
首页 > 其他分享> > std::initializer_list:接收可变形参个数函数的参数

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