Старый 14.04.2008, 11:46   #1   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Talking йа задачкО

чота не пойму с какой стороны подойти....
есть:
Цитата:
class c0 { virtual void f(){....};};
так же есть:
Цитата:
class c1: c0 {...};
class c2: c0 {...};
class c3: c0 {...};
...
..
...
class c99: c0 {...};
class c100: c0 {...};
пока что в ручную, создаюца обьекты данных классов
например:
4 объекта класса с2
7 объектов класса с28
1 объект класса с5
они между собой взаимосвязаны, удалить один и создать такой же(типо изменить объекту адрес) нельзя

теперь вопрос:
что бы их не создавать в основной программе, есть такие мысли:
0):
забить на эти мысли, и делать их там же и так же
1):
делать файл следующего содержания
ID объекта, тип объекта , параметры конструктору, конец строки.... новая строка новый обьект.
и писать, загрузчик который это поймет
2):
загрузить (заранее созданную с помощью бубна и медитаций ) эту пачку обьектов с винта, напрямую в память
(тут непонятно куда будут смотреть указатели)
3):
ваш вариант решения

зы: извеняюсь если что то непонятно обьяснил...
  Ответить с цитированием
Старый 14.04.2008, 13:03   #2   
Форумец
 
Аватар для The_God
 
Сообщений: 1,109
Регистрация: 19.12.2004
Возраст: 42

The_God вне форума Не в сети
а что за задачу ты решать пытаешся таким способом ?

ты не думал что то решение котороей ты выбрал немного противоестественное для вминяемого человека ?

еслибы стамотолог предложил зубы лечить через задницу ябы усомнился в его адекватности.
  Ответить с цитированием
Старый 14.04.2008, 14:16   #3   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
The_God, я прям даже не пойму что тебе ответить, ну попробую:

#ifdef ты_не_так_понял_условие
есть условие: пачка обьектов , которые как то между собой взаимодействуют
есть вопрос: как хранить\грузить эти обьекты (даже есть варианты ответа)
Цитата:
Сообщение от The_God
ты не думал что то решение котороей ты выбрал немного противоестественное для вминяемого человека ?
я пока ничего не выбрал, есть вариант №3
#endif

#ifdef ты_не_понял_зачем_эта_пачка_классов
Цитата:
Сообщение от The_God
а что за задачу ты решать пытаешся таким способом ?
ты не думал что то решение котороей ты выбрал немного противоестественное для вминяемого человека ?
а как ты можешь так утверждать, не зная что я делаю? МегаГуруТелепат?
#endif

жалко форум синтаксис не подсветит, но думаю ты разберешся
  Ответить с цитированием
Старый 14.04.2008, 19:17   #4   
Out There
 
Аватар для Part!zan
 
Сообщений: 6,007
Регистрация: 13.12.2004
Возраст: 45

Part!zan вне форума Не в сети
Цитата:
Сообщение от xxx-men
а как ты можешь так утверждать, не зная что я делаю? МегаГуруТелепат?
Это видно невооруженным глазом. Алгоритм невменяемый.
  Ответить с цитированием
Старый 14.04.2008, 19:18   #5   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Цитата:
Сообщение от Part!zan
Это видно невооруженным глазом. Алгоритм невменяемый.
ладно, а можно коментарии....?
  Ответить с цитированием
Старый 14.04.2008, 20:16   #6   
Out There
 
Аватар для Part!zan
 
Сообщений: 6,007
Регистрация: 13.12.2004
Возраст: 45

Part!zan вне форума Не в сети
xxx-men, какие комментарии, если задача неизвестна? Для чего нужна пачка объектов, для чего их хранить/грузить?
  Ответить с цитированием
Старый 14.04.2008, 21:07   #7   
Форумец
 
Аватар для The_God
 
Сообщений: 1,109
Регистрация: 19.12.2004
Возраст: 42

The_God вне форума Не в сети
Цитата:
Сообщение от xxx-men
йа задачкО
это не задачка

это решение задачки, причем ооочень странное

ты раскажи условие задачки, наверняка можно решить её более естественным образом.

ps конечно если задачка именно как разрулить именно такую гарадульку классов, то в чем её цель ? зачем она ?
  Ответить с цитированием
Старый 14.04.2008, 21:13   #8   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Цитата:
Сообщение от Part!zan
какие комментарии, если задача неизвестна?
неправда, первые каменты были:
Цитата:
Сообщение от The_God
ты выбрал немного противоестественное для вминяемого человека
Цитата:
Сообщение от Part!zan
Алгоритм невменяемый.
то есть для любой возможной задачи, использовать пачку обьектов == невменяемость?
ну обьясните(реально интересно), откуда такие выводы?
  Ответить с цитированием
Старый 14.04.2008, 21:20   #9   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Цитата:
Сообщение от The_God
ps конечно если задачка именно как разрулить именно такую гарадульку классов
вооооот именно в этом и состоит мой вопрос(подробности пост№1), который пока нераскрыт

Цитата:
Сообщение от The_God
то в чем её цель ? зачем она ?
мне делать нех , сижу загоняюсь

зы:
это кусок мозга для Л2 бота, даже не обезательно для Л2
  Ответить с цитированием
Старый 14.04.2008, 22:27   #10   
Out There
 
Аватар для Part!zan
 
Сообщений: 6,007
Регистрация: 13.12.2004
Возраст: 45

Part!zan вне форума Не в сети
xxx-men, короче, телепатов тут нет. Либо ты нормально пишешь, чего ты хочешь, либо ищешь решение сам. Не верю, что есть реальная задача, которая требует такого решения.
  Ответить с цитированием
Старый 14.04.2008, 23:44   #11   
Форумец
 
Аватар для The_God
 
Сообщений: 1,109
Регистрация: 19.12.2004
Возраст: 42

The_God вне форума Не в сети
Цитата:
Сообщение от xxx-men
сижу загоняюсь
ну чтож, как разрулиш, напиши

весеннее обострение даже у программистов оказывается бывает
  Ответить с цитированием
Старый 15.04.2008, 00:14   #12   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Цитата:
Сообщение от Part!zan
короче, телепатов тут нет. Либо ты нормально пишешь, чего ты хочешь
хочу узнать:
Цитата:
Сообщение от The_God
как разрулить именно такую гарадульку классов
помоему все просто и наглядно..... что не так?
  Ответить с цитированием
Старый 15.04.2008, 00:16   #13   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Цитата:
Сообщение от The_God
ну чтож, как разрулиш, напиши
оК скорее всего способ №1
  Ответить с цитированием
Старый 15.04.2008, 01:04   #14   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Цитата:
Сообщение от Part!zan
Не верю, что есть реальная задача, которая требует такого решения.
ну "требует" не совсем то слово.....
допустим мы скриптуем Л2 бота...

как это может работать:
Цитата:
class script
{
_script* pNext;
_virtual void run();
};
class bot
{
....
_script* pScr;
_void move();
};

void bot::move()
{
script* tmp = pScr;
while(tmp)
{
_tmp->run();
_tmp=tmp->pNext;
};
};
потом создаю дофига(сам пока не знаю сколько) разных классов, с разными возможностями которые
наследуюца от script, например:
Цитата:
class IF: public script
{
_ bool* target;
_ script* trueScr;
_ script* falseScr;
_ void run()
_ {
__ if(*target){ pNext=trueScr;} else {pNext=falseScr;};
_ }
};
ну и т.д., идея надеюсь понятна...
потом делаеца "городулька обьектов"
потом это запускаеца на выполнение, и... , о чудо, работает...

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

было еще два варианта, тока жестокие

зы:
lua не предлагать, я велосипед изобретаю.
вопрос не раскрыт.
  Ответить с цитированием
Старый 15.04.2008, 12:05   #15   
Форумец
 
Аватар для MadFish
 
Сообщений: 340
Регистрация: 25.07.2002

MadFish вне форума Не в сети
Мое ИМХО!!!

Я бы (как оч ленивый человек) нарулил в с0 пуре виртуал сериализацию.Реализовывал бы ее в потомках(если надо). Хранить ну это где больше нравится хош бд, хош фаийле. Восстанавливать состояние либо конструктором либо спец функцией (в зависимости че надо). Взаимосвязи хранить либо по ИД объектов либо мутить что-нить вроде конечного автомата по созданию объектов с описанием взаимосвязей...

Ну или забить на все и юзать boost::serialization
  Ответить с цитированием
Старый 15.04.2008, 13:27   #16   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Цитата:
Сообщение от MadFish
Ну или забить на все и юзать boost::serialization
это что за зверь?
  Ответить с цитированием
Старый 15.04.2008, 15:13   #17   
Форумец
 
Аватар для MadFish
 
Сообщений: 340
Регистрация: 25.07.2002

MadFish вне форума Не в сети
http://www.rrsd.com/boost/index.htm
  Ответить с цитированием
Старый 15.04.2008, 16:47   #18   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Цитата:
Сообщение от MadFish
http://www.rrsd.com/boost/index.htm
пендосский...

Цитата:
Сообщение от MadFish
Я бы (как оч ленивый человек) нарулил в с0 пуре виртуал сериализацию
можешь "на пальцах" обьяснить что это?

MadFish, можно даже пару слов по поводу "адекватности" выбранного мной алгоритма
  Ответить с цитированием
Старый 17.04.2008, 09:11   #19   
Форумец
 
Аватар для MadFish
 
Сообщений: 340
Регистрация: 25.07.2002

MadFish вне форума Не в сети
Не..., по поводу адекватности алгоритма и постановки задачи эт ты уж сам думай (я ведь даже не знаю что такое Л2 бот), мое дело отвечать на вопросы.
По русски например: http://www.rsdn.ru/article/xml/xmlcpp.xml
(это так скать азы )
"на пальцах" данные переводим в последовательный формат (текст, хтмл.. итп на твой вкус) далее ,например, сохраняем во внешней памяти. Проблема восстановления ссылок может решатся различными методами. Как то: связка по уникальным ИД объектов, привязка к уже существующим объектам(нужен автомат с описанием последовательности создания объектов)...итп
МОЙ ВЫБОР
сериализация объектов функциями(можно юзать внешнии либы).
создать хранилище объектов типа c0 которое и содержит взаимосвязи между объектами и !!!само умеет сериализоваться!!!
  Ответить с цитированием
Старый 17.04.2008, 10:18   #20   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Цитата:
Сообщение от MadFish
создать хранилище объектов типа c0 которое и содержит взаимосвязи между объектами и !!!само умеет сериализоваться!!!
непрокатит.... ....если только на линейные участки....

вывод: указатели тока по ID.... т.к. указатели в классах смотрят на что угодно....

Цитата:
Сообщение от MadFish
а ссылочка очень даже по теме
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind