Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопрос по boost.program_option 
V
    Опции темы
andrew_121
Дата 25.2.2010, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



всем хай!
код:
Код

int main() {
....
    int rpc_port                = config["rpcport"     ];
    int refresh_time            = config["refreshtime"];
    bool demonize                = false;
    bool show_help                = false;

    /** programm options */
    boost::program_options::options_description description("allowed options");
    description.add_options()
        ("help", boost::program_options::value<bool>(&show_help)->default_value(false), "produce help message")
        ("port", boost::program_options::value<int>(&rpc_port)->default_value(1234), "set RPC port")
        ("rtime", boost::program_options::value<int>(&refresh_time)->default_value(500), "refresh time in ms")
        ("demonize", boost::program_options::value<bool>(&demonize)->default_value(false), "demonize when start");

    std::cout<< "help = " << show_help << std::endl
            << "port = " << rpc_port << std::endl;

исходя из описания: http://www.boost.org/doc/libs/1_42_0/doc/h....html#id1418609
Цитата

The "optimization" option shows two new features. First, we specify the address of the variable(&opt). After storing values, that variable will have the value of the option. Second, we specify a default value of 10, which will be used if no value is specified by the user

я так понял, что при указании определенного ключа, его значение сохранится в переменной?
но почему-то ничего в переменной не сохраняется.
или я что-то не правильно понял?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SenkraD
Дата 25.2.2010, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

Репутация: 2
Всего: 23



andrew_121, ты случайно эти строчки перед своис std::cout не забыл
Код
boost::program_options::variables_map vm;
boost::program_options::store(boost::program_options::parse_command_line(argc, argv, boost::program_options), vm);
boost::program_options::notify(vm);


Это сообщение отредактировал(а) SenkraD - 25.2.2010, 11:18


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
andrew_121
Дата 25.2.2010, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Цитата(SenkraD @  25.2.2010,  11:18 Найти цитируемый пост)
andrew_121, ты случайно эти строчки перед своис std::cout не забыл

думаю что нет.
в прежнем варианте boost.program_options только так и можно было. но в версии 1.42 появилась возможность этого не делать(опять таки, если я правильно понял из описания)

Добавлено через 1 минуту и 18 секунд
ой, епс!
точно!
как-же boost.program_options узнает о переданных программе опциях.
 smile

Добавлено через 5 минут и 12 секунд
Цитата(SenkraD @  25.2.2010,  11:18 Найти цитируемый пост)
boost::program_options::store(boost::program_options::parse_command_line(argc, argv, boost::program_options), vm);

на счет этого я согласен.
но зачем:
Цитата(SenkraD @  25.2.2010,  11:18 Найти цитируемый пост)
boost::program_options::variables_map vm;

?
значения же должны сохраниться в переменных. наверное...


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
andrew_121
Дата 25.2.2010, 17:59 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



нифига не получилось.
использовал по старинке.
вопрос закрыт.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0561 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.