插入迭代器用于向容器中添加数据。
1、back_inserter 在后面插入;
2、front_inserter 在前面插入;
3、inserter 在指定位置插入
QJsonArray array;
auto it = std::back_inserter(array);//it是传入迭代器
for(int i = 0;i < 5;++i)
{
QJsonObject obj;
obj["index"] = i;
*it = obj;
++it;
}
for(int i = 0;i < array.size();++i)
{
qDebug()<<array[i].toObject();
}
当通过插入迭代器赋值时(*it = obj),会调用push_back将元素添加到容器末尾。
QJsonArray array;
QJsonObject obj;
obj["index"] = 555;
array.append(obj);
auto it = std::inserter(array,array.begin());//每次插入将在begin()处插入
for(int i = 0;i < 5;++i)
{
QJsonObject obj;
obj["index"] = i;
*it = obj;
++it;
}
for(int i = 0;i < array.size();++i)
{
qDebug()<<array[i].toObject();
}