При использовании повышения:: program_options, как каждый определяет имя аргумента?

Возможно, они были бы удовлетворены знанием memalign? И поскольку Jonathan Leffler указывает, существует две более новых предпочтительных функции для знания о.

ой, флорин избил меня к нему. Однако, если Вы читаете страницу справочника, я связался с, Вы, скорее всего, поймете пример, предоставленный более ранним плакатом.

22
задан Tim Sylvester 8 August 2009 в 20:20
поделиться

3 ответа

Класс program_options :: value_semantic не параметризует имя аргумента, поэтому я думаю, вам придется определить свой собственный класс. Примерно так:

struct my_arg_type
    : public boost::program_options::typed_value<int>
{
    my_arg_type(std::string const& name)
        : boost::program_options::typed_value<int>(&my_value)
        , my_name(name)
        , my_value(0)
    {
    }
    std::string name() const { return my_name; }
    std::string my_name;
    int my_value;
};

boost::program_options::options_description desc;

my_arg_type arg("foo");
desc.add_options()
    ("width", &arg, "give width");

Это должно дать что-то вроде:

--witdh foo    give width
9
ответ дан 29 November 2019 в 05:31
поделиться

Можно заменить arg чем-то другим с помощью глобальной переменной boost :: program_options :: arg :

boost::program_options::arg = "NUM";

Но поскольку это глобальная переменная, она не очень помогает решить проблему, когда для нескольких параметров могут потребоваться разные аргументы.

3
ответ дан 29 November 2019 в 05:31
поделиться

"Обратите внимание, что C1 и C2 не обязательно будет по 50% каждая. В значение может меняться в зависимости от их содержание. Мне также нужны все предметы в эти ячейки независимо от количества строк должны выстроиться так же, как они будет в таблице. "

Вышеупомянутое невозможно в кроссбраузерном режиме без использования таблицы (вы можете смоделировать макет таблицы с помощью CSS:" display: table ", но это не работает в IE6 или IE7) .

Я бы посоветовал вам думать немного по-другому при разработке с использованием CSS вместо таблиц. Невозможно просто заменить «tr» и «td» на «div» и заставить все волшебным образом работать, как раньше. Я предлагаю вам установите ширину нижних «ячеек» и используйте один из вариантов, которые вам дали выше.

Надеюсь, что это поможет!

На самом деле это сделано намеренно - использование «ЧИСЛА» в качестве имени аргумента кажется микрооптимизацией, которую не стоит делать. Хорошее описание варианта должно также сказать, какой аргумент ожидается.

-3
ответ дан 29 November 2019 в 05:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: