我目前正在学习boost::program_options::options_description库,并遇到以下查询。当我们调用boost::program_options::options_description类的add_options方法时,它返回对象options_description_easy_init,并使用该对象添加不同的命令行参数选项。例如。
boost::program_options::options_description objDescri("Allowed options");
objDescri.add_options()
("help","To get the help")
("compression", boost::program_options::value<int>()->default_value(90),"Compression level");我的问题是,既然add_options是按值而不是按引用返回对象,那么选项是如何在options_description中添加的呢?add_options的声明是:
options_description_easy_init add_options();发布于 2015-09-20 18:41:38
实际上,options_description_easy_init是一个引用实际选项容器的代理对象。所以,是的,该方法返回这样一个代理的副本,
查看/usr/include/boost/program_options/options_description.hpp (或boost头所在的任何地方)了解更多血淋淋的细节
https://stackoverflow.com/questions/32677763
复制相似问题