提问人:rafalk42 提问时间:10/13/2022 更新时间:10/13/2022 访问量:61
QJsonObject 链接赋值产生意外结果
QJsonObject chained assignment produces unexpected results
问:
当我在 QJsonObject 中为两个不同的不存在的键分配相同的值时,我得到一个意外的结果:
json["first"] = json["second"] = "world!";
据我所知,此代码应添加两个新键 和 ,值均为 。
取而代之的是,它有一个以前存在于该元素中的另一个元素的值,而实际上具有正确的值。
当我将这两个任务分开时:first
second
world!
first
QJsonObject
second
world!
json["first"] = "world!";
json["second"] = "world!";
它工作正常,但这有什么不同呢?
实际(链式)输出:QJsonObject({"first":"Hello","foo":"Hello","second":"world!"})
预期(单独)输出:QJsonObject({"first":"world!","foo":"Hello","second":"world!"})
完整源代码:
#include <QJsonDocument>
#include <QDebug>
int main(int argc, char *argv[])
{
QJsonObject json {
{"foo", "Hello"}
};
json["first"] = json["second"] = "world!";
qDebug() << json;
return 0;
}
在 Qt 5.15.2 MinGW 8.1.0 x64 和 Qt 6.3.2 MinGW 11.2.0 x64 上进行了测试,在 Windows 上的调试和发布版本中都进行了测试。
答: 暂无答案
评论