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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удобных конфиг 
:(
    Опции темы
mes
Дата 23.10.2010, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

Репутация: 79
Всего: 250



Цитата(Тигер @  23.10.2010,  20:42 Найти цитируемый пост)
 нам же впринципе без разницы сколько экземпляров мы будем создавать

предполагалось что Вы хотите, чтоб у Вас был один конфиг на все программу smile



--------------------
PM MAIL WWW   Вверх
Тигер
Дата 23.10.2010, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2010

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



ОБлом. В массив то теперь не загонишь...
Цитата

предполагалось что Вы хотите, чтоб у Вас был один конфиг на все программу

ну если бы инициализация в конструкторе была статичная, то по сути так бы оно и было =)
если я конечно правильно понял что вы предложили...

Это сообщение отредактировал(а) Тигер - 23.10.2010, 22:02
PM MAIL   Вверх
mes
Дата 23.10.2010, 22:04 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

Репутация: 79
Всего: 250



Цитата(Тигер @  23.10.2010,  21:00 Найти цитируемый пост)
ОБлом. В массив то теперь не загонишь...

кого не загонишь ?
 smile 

Цитата(Тигер @  23.10.2010,  21:00 Найти цитируемый пост)
у если бы инициализация в конструкторе была статичная, то по сути так бы оно и было =)

если бы тут были телепаты, то уже тема давно была бы решена  smile 


--------------------
PM MAIL WWW   Вверх
Тигер
Дата 23.10.2010, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2010

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



ну вот такая штука теперь не будет рабоать =)
Код

template<class T>
class variant {
        public:
            variant(const std::string& s):str(s) {}
             T as() const {
                T result;
                std::stringstream ss(str);
                ss >> result;
                return result;
             }
             operator T () {
                return this->as();
             }
        private:
            std::string str;
};

map<string,variant*> cnf;

void InitCNF(){
   cnf["file_out_name"]=new variant<char*>("blabla");
  /*....*/
}

PM MAIL   Вверх
mes
Дата 23.10.2010, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

Репутация: 79
Всего: 250



Цитата(Тигер @  23.10.2010,  21:06 Найти цитируемый пост)
ну вот такая штука теперь не будет рабоать =)

ну так естественно.. 
у Вас кол-во же вариантов типа вариант ограничено ? что ж мешает избавиться от шаблона ?



--------------------
PM MAIL WWW   Вверх
Тигер
Дата 23.10.2010, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2010

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



хочется похорошему сделать...
наверно надо забить и  скачать студию всё таки..
PM MAIL   Вверх
boostcoder
Дата 23.10.2010, 22:54 (ссылка) |   (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

Репутация: 20
Всего: 110



Цитата(Тигер @  23.10.2010,  19:56 Найти цитируемый пост)
это называется удобный конфиг,а не извращение ;) 

лжец! это называется хардкодинг.
Цитата(Тигер @  23.10.2010,  20:02 Найти цитируемый пост)
в рамках данной задачи это удобный кофиг =)

лжец! и это называется хардкодинг.
Цитата(Тигер @  23.10.2010,  20:34 Найти цитируемый пост)
мне нравится реализация которая тут выше, а она не работает. 

лжец! все работает.

а почему бы не взять мой класс, и переделать его так, чтоб он использовал std::istringstream вместо файла? smile

Добавлено через 1 минуту и 21 секунду
Цитата(Тигер @  23.10.2010,  20:34 Найти цитируемый пост)
но мне нравится реализация которая тут выше

может стОило сказать спасибо?
PM WWW   Вверх
Тигер
Дата 23.10.2010, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2010

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



я сказал да =)
но в добавок это называется удобный конфиг и рациональная реализация.
я и взял по сути ваш класс =)
в VC6 не работает.
и спасибо за паттерн.
PM MAIL   Вверх
artikov
Дата 24.10.2010, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.2.2010

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



всю тему не читал.
ПокиКонфиг кто-нибудь предлагал?
PM MAIL   Вверх
djamshud
Дата 24.10.2010, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


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

Репутация: 4
Всего: 39



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

Для очень сложных конфигов - XML, рантайм разумеется.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
bsa
Дата 25.10.2010, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(Тигер @  24.10.2010,  00:08 Найти цитируемый пост)
но в добавок это называется удобный конфиг и рациональная реализация.
У тебя видимо недостаточно опыта, поэтому ты называешь это "удобным" и "рациональным". На самом деле, конфигурация, реализуемая подобным образом, нужна именно для того, чтобы можно было задать новую без перекомпиляции. Так называемый "ХардКодинг", который ты фактически делаешь, лучше делать через макросы или константы из особого пространства имен. Если тебе нужен удобный набор начальных настроек, то я бы использовал связку перечисления, структуры и статического массива. Перечислением задается номер параметра (индекс в массиве), структура содержим значение и название параметра (если второе не нужно, то можно ограничиться просто значением), а массив уже содержит весь набор. Правда, у этого метода есть и недостатки - при добавлении новых параметров нужно быть очень аккуратным, так как вносить изменения необходимо в 2 места (в перечисление и массив).
PM   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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