Re: класс Config
От: kov_serg Россия  
Дата: 15.01.19 20:57
Оценка: +4
Здравствуйте, Hard_Club, Вы писали:

H_C>переносим свой Python код на C++. У нас там был в

H_C>Python конфиг в котором константами задавалось (было порядка 30 параметров):

H_C>CPU_NUM = getenv("CPU_NUM", 3) # default


H_C>если ли в C++ какой-то рекомендуемый способ/либа для конфигов?

яд бы не заморачивался. если надо getenv сделайте себе getenv
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>

int getenv(const char* name,int defval) {
    long int val; char *end, *text=getenv(name);
    if (!text) return defval;
    val=strtol(text,&end,10);
    if (val==0 && errno) return defval;
    if (*end) return defval;
    if ((int)val!=val) return defval;
    return val;
}

Либо готовые есть в бусте
https://www.boost.org/doc/libs/1_53_0/doc/html/program_options.html
https://www.boost.org/doc/libs/1_48_0/doc/html/property_tree.html
Если алергия то
куча реализайций есть
например:
https://github.com/benhoyt/inih
на C есть glib и libargp
https://developer.gnome.org/glib/stable/glib-Key-value-file-parser.html
https://github.com/alexreg/libargp
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.