0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 13
|
||||||
1 | ||||||
Текстовая RPG в консоли по правилам D&D29.01.2013, 21:37. Показов 5694. Ответов 39
Метки нет (Все метки)
Доброго времени суток! Решил попробовать себя на новой, так сказать, стезе. Буду рад любой помощи в плане организации хранения информации, ведь текста будет очень много, а доступ к нему должен быть быстрым и удобным.
Возник первый вопрос:
0
|
29.01.2013, 21:37 | |
Ответы с готовыми решениями:
39
С++; компилятор; Текстовая RPG Текстовая RPG на Боро-Борланде Текстовая стратегия в консоли. Нанесение урона персонажам Ликбез по правилам работы в консоли |
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 13
|
|
29.01.2013, 22:57 [ТС] | 21 |
То есть править нужно в описание структуры chparams? Не знаю, как выделить память для char*. Структуру описывал сверяясь с учебником Подбельского. У него есть очень похожий пример, и в нём, судя по всему, всё работало...
Разобрался, спасибо soon.
0
|
46 / 46 / 4
Регистрация: 08.12.2010
Сообщений: 161
|
|
29.01.2013, 23:01 | 22 |
может я и ошибаюсь(если так то исправьте), но для "снятия" константности существует некрасивый хак const_cast, ну и мютабл? а подобные синтаксические ерудновины не есть хорошо.
0
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
29.01.2013, 23:02 | 23 |
Croessmah, это я читал. Ну не слово в слово, но смысл был такой же. Тогда пример soon действителен. Но и мой-то, тоже действителен. Там строка записывается в массив, который просто помечен как конст.
Добавлено через 54 секунды dederkay, конст_каст - это си++ style. В си использовались приведения типов
0
|
46 / 46 / 4
Регистрация: 08.12.2010
Сообщений: 161
|
|
29.01.2013, 23:05 | 24 |
та я вроде не говорил что это из си, или речь идет именно о нем?
Не зря в С++ тоже есть приведение типов, правда их синтаксис немного красивее, из за возможности перегрузки оператора приведения к типу.
0
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
29.01.2013, 23:09 | 26 |
dederkay, я к тому, что никакой это не хак, а просто переиначенное приведение типов.
Насчет ассемблера я не лукавлю. При желании можно залезть и в память процесса и изменить что надо. И в программу, лежащую на харде Добавлено через 37 секунд soon, я смотрел. Это зависит от того, что делает сам компилятор. Мой - справился.
0
|
46 / 46 / 4
Регистрация: 08.12.2010
Сообщений: 161
|
|
29.01.2013, 23:09 | 27 |
А мютабл ведь не приводит к ЮБ?(когда речь идет о снятии константности, вроде и не настоящем).
0
|
46 / 46 / 4
Регистрация: 08.12.2010
Сообщений: 161
|
|
29.01.2013, 23:11 | 29 |
0
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
||||||
29.01.2013, 23:15 | 30 | |||||
soon, я же не утверждаю, что нужно снимать const налево и направо. Но возможен гипотетический случай, когда это нужно будет сделать.
Человеку важно видеть, что объект не изменится. Объект действительно не меняется в итоге. А для работы его неконстантность может быть удобна.
0
|
29.01.2013, 23:18 | 31 | |||||
И что? Это как было UB, так и осталось.
Правильно. Его проще проморгать, и, притом, он последовательно перебирает все возможные преобразования
Добавлено через 2 минуты Передать по ссылке? Неет, зачем, давайте забубеним константный указатель а потом снимем с него константность! UB от этого не пропадает, повторяю уже раз в третий.
0
|
Croessmah
|
29.01.2013, 23:19
#32
|
0
|
Kgfq
|
29.01.2013, 23:22
#33
|
Не по теме: Croessmah, VS2012
0
|
Неэпический
|
||||||
29.01.2013, 23:22 | 34 | |||||
А с таким справится?
P.S. Но это студия
0
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
29.01.2013, 23:24 | 35 |
soon, если передавать по ссылке, то это может быть всего лишь объект в стеке. Тогда действительно результат непредсказуем. А так - вполне предсказуем, потому что обращение происходит к реально существующему объекту
0
|
46 / 46 / 4
Регистрация: 08.12.2010
Сообщений: 161
|
|
29.01.2013, 23:26 | 36 |
Как на меня слишком много против, по сему, когда можно обойтись без сего, то стоит так и сделать.
спасибо, думал что сделано немного по другому, не знаете почему он так делает? И ваще приведения типов плохая штуковина, книжки говорят что когда у вас появляется необходимость приводить к типу, стоит подумать как сделать так чтоб такого не было нужно.
0
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
29.01.2013, 23:28 | 37 |
Croessmah, при использовании глобальной переменной - краш, локальной - все проходит как по маслу
Добавлено через 1 минуту dederkay, даже приведения типа void* -> int* или unsigned char* -> float* ?
0
|
29.01.2013, 23:32 | 38 |
А как по-другому?
Вопрос довольно спорный. Не вижу ничего плохого в static_cast. Остальные нужно просто уметь использовать. Kgfq, Так. Делать. Нельзя. Точка.
2
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
29.01.2013, 23:34 | 39 |
soon, ты сам только что сказал "остальные нужно просто уметь использовать". Давай завершим этот спор, потому что ни к чему конструктивному он не приведет.
0
|
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
|
|||||||||||
30.01.2013, 00:34 | 40 | ||||||||||
0
|
30.01.2013, 00:34 | |
30.01.2013, 00:34 | |
Помогаю со студенческими работами здесь
40
query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так? error '80020009' Îøèáêà. /lalala/profile.asp, line 28 Помогите найти драйвера для pci\ven_8086&DEV_266E&SUBSYS_A002145&REV_05\3&13C0B0C5&0&F2 Нужен драйвера, код PCI\VEN_1039&DEV_7012&SUBSYS_0C98105B&REV_A0\3&B1BFB68&0&17 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |