重写.yaml
文件时,节点会重新排序。我似乎无法弄清楚它是如何重新排序的,以及模式是什么。有谁知道重新排序是如何完成的?
以下是重写.yaml
文件的代码:
YAML::Node config = YAML::LoadFile("config.yaml");
config["lastLogin"] = getCurrentDateTime();
std::ofstream fout("config.yaml");
fout << config;
答案 0 :(得分:2)
如果我们查看Node
的实现,我们发现它将其子项存储在std::map<Node*, Node*>
中,即从关键节点指针到值节点指针的映射。
因此,节点按其指针值排序(这几乎是随意的,并且可能会在不同的运行中发生变化),并且它们也按照该顺序编写。