![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Тигер |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
Как на С++ огранизовать удобный оффлайн конфиг. тобишь ini и пр. рантайм не предлогать =)
хочется что-то вроде cnfMap["file_name"]="My file"; cnfMap["count"]=5; cnfMap["zlo"]=0.0006; структуры и union не подходят. точнее не совсем подходят. нужен именно маппер с ключами, что бы можно было вывести конфиг в цикле как key => value |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
конечно же boost.property_tree.
|
|||
|
||||
Тигер |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
спасибо, это идеальное решение.
но у меня программа не большая, там поминимому библиотек, тоесть хотелось бы вариант максимум с STL, WinAPI |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
изврат конечно, но сам когда-то писал.
Это сообщение отредактировал(а) boostcoder - 23.10.2010, 17:03 |
|||
|
||||
Тигер |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
идея интересная, но что-то я не пойму почему у меня не работает
map<string,variant*> cnf; cnf["test"]=new variant("5"); int num=cnf["test"]->as<int>(); и даже так variant is("5"); int num=is.as<int>(); |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
что-то вы нагородили..
так:
|
|||
|
||||
Леопольд |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
сделай как-то так:
config.h
config.cpp
правда смысла от этого не вижу, лучше констант наплодить... Это сообщение отредактировал(а) Леопольд - 23.10.2010, 19:44 -------------------- вопросов больше чем ответов |
||||
|
|||||
Тигер |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
ну мне файл просто не нужен. тоесть мне каг бы нужeн оффлайн глобальный массив конфигурации
чтобы я сделал так
тобишь просто массив с "разными типами" структуры и объединения не подходят из-за неудобной иницаилизации в случае с контейнером map из-за невозможности вывести содержимое как key => value; в случае простой конфигурационной структуры без map =) Это сообщение отредактировал(а) Тигер - 23.10.2010, 19:39 |
|||
|
||||
Леопольд |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
-------------------- вопросов больше чем ответов |
|||
|
||||
Тигер |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
пусть так, главное что рантайм не подходит.
|
|||
|
||||
Леопольд |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
И то и другое рантайм.
Лучше вынести константы в отдельный namespace:
Это сообщение отредактировал(а) Леопольд - 23.10.2010, 19:53 -------------------- вопросов больше чем ответов |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
в извращениях не участвую
![]() |
|||
|
||||
Тигер |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
Леопольд
namespace нельзя вывести как key=>value в цикле =) boostcoder это называется удобный конфиг,а не извращение ;) |
|||
|
||||
Леопольд |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
Это точно не конфиг, его нельзя изменить, а конфиг подразумевает настройку bез перекомпиляции.
Это сообщение отредактировал(а) Леопольд - 23.10.2010, 19:58 -------------------- вопросов больше чем ответов |
|||
|
||||
Тигер |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
можно - при компиляции
нет Это сообщение отредактировал(а) Тигер - 23.10.2010, 20:00 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |