コマンドラインパラメータを解析する方法に完全に依存します。Boost program_optionsモジュールを使用する場合、次の方法で実行できます。
#include <boost/program_options.hpp>
namespace po = boost::program_options;
int main(int argc, char *argv[])
{
int bufferSize;
int priority;
int milliTimeOut;
po::options_description desc("Options for my program");
desc.add_options()
// Option 'buffer-size' and 'b' are equivalent.
("buffer-size,b", po::value<int>(& bufferSize)->default_value(8192),
"The buffer's size")
// Option 'priority' and 'p' are equivalent.
("priority,p", po::value<int>(& priority)->default_value(4),
"The priority")
// Option 'timeout' and 't' are equivalent.
("timeout,t", po::value<int>(& milliTimeOut)->default_value(30000),
"Time out in ms")
;
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
po::notify(vm);
// Here your variables have the values specified by the user,
// or the default one.
}
次に、次のようにプログラムを呼び出します。
program --buffer-size=100000 -t 600000
program -b 100000 --priority=10
program -b 5000 -t 50000 -p 15
program
指定しないパラメータは、デフォルト値を取得します。
パッケージのドキュメントを読む必要があります。これは非常に完全で柔軟性があります (たとえば、一部のパラメーターにのみデフォルト値を設定できます)。