gpt4 book ai didi

c++ - boost::program_options 如何重新加载一个值

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:36 27 4
gpt4 key购买 nike

我想从配置文件中重新加载一些值。我知道 po::store 不会更改存在于 variables_map 中的值。有没有替代方案可以替换值,即使它们已经存在?

我尝试删除即将从 variables_map 重新加载的值,但是 po::store 无论如何都不会添加新值(即使旧值不能都可以访问)。

最佳答案

P3trus 的解决方案涉及向下转换。这是必要的,因为 variables_map 重载了 std::map::operator[] 返回一个 const variable_value & (const 防止重新分配)。

但是在 C++11 中我们有 std::map::at() 没有重载,所以可以这样做:

vm.at(option).value() = val;

直接在需要的地方。

关于c++ - boost::program_options 如何重新加载一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371435/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com