如何解码列表列表?

时间:2015-10-12 03:51:17

标签: c++ yaml-cpp

我需要在Yaml-CPP中解码以下YAML文件

WorldMatrix:
- [0.9951964247911349, 0.018388246064889716, -0.09615585520185603, -0.5403611888912607]
- [0.0668777651703494, 0.5895969306048771, 0.8049241106757379, 0.49102218903854067]
- [0.0714943396973693, -0.8074882858766219, 0.5855349926035782, 3.057906332726323]
- [0.0, 0.0, 0.0, 1.0]

我已经达到了这个目标,但我无法弄清楚如何继续:

YAML::Node config = YAML::LoadFile(path);
for(YAML::const_iterator it=config.begin(); it != config.end(); ++it){


}

1 个答案:

答案 0 :(得分:0)

如果您想使用std::vector存储它,则有一个快捷方式:

YAML::Node config = YAML::LoadFile(path);
std::vector<std::vector<double>> worldMatrix =
    config["WorldMatrix"].as<std::vector<std::vector<double>>>();

如果你只想迭代它并做任何你喜欢的事情:

for (YAML::Node row : config["WorldMatrix"]) {
  for (YAML::Node col : row) {
    double value = col.as<double>();
    // do something with value
  }
}