1、boost::program_options
#include <iostream>
#include <boost/program_options.hpp>
#include <vector>
#include <string>
namespace po = boost::program_options;
int main(int argc, char* argv[]){
int level;
//1、创建选项描述器对象
po::options_description("options");
//2、向该对象中添加选项
desc.add_options()
("help,h","show help infor")
// 设置默认值,不需要count取值了
("level,l",po::value<int>(&level)->default_value(8),"show level infor")
// vector类型可以同时传入多个参数 -i a b
("include_path,i",po::value<std::vector<std::string>>()->multitoken(),"include path")
("filename,f",po::value<std::string>(),"get filename");
//3、创建选项存储器对象
po::variables_map vm;
try{
//4、parse_command_line:解析命令行参数
//5、store()将解析出的选项存储到vm
po::store(po::parse_command_line(argc,argv,desc),vm);
}