|
Мы сами всего творцы!
60 / 23 / 1
Регистрация: 06.06.2012
Сообщений: 151
|
|||||||||||||||||||||
Выделение памяти или непонятный массив типа enum23.04.2017, 10:54. Показов 4609. Ответов 35
Метки нет (Все метки)
Здравствуйте, уважаемые форумчане.
Занимаюсь улучшением одного open-source проекта на небольшом уровне, исходный код большой и сложный, делаю лишь небольшие улучшения какие получается. Сейчас в программе имеется некий список локаций, для них есть 2 файла - locations.cpp и locations.h В них описаны классы и структуры локаций. Смысл в том, что нам нужно добавить еще локаций, и тут я столкнулся с одной проблемой. В locations.cpp:
Чтобы вам было проще понять устройство всего этого дела, я приведу почти полностью коды этих файлов. locations.cpp
0
|
|||||||||||||||||||||
| 23.04.2017, 10:54 | |
|
Ответы с готовыми решениями:
35
Выделение памяти построчно или куском. Массив C++ Создать запрос с использованием типа данных enum или схожим с ним Выделение памяти (CodeGear RAD Studio 2009 - C++ builder). Выделение памяти - консоль vs SDIApp |
|
Мы сами всего творцы!
60 / 23 / 1
Регистрация: 06.06.2012
Сообщений: 151
|
|
| 25.04.2017, 14:14 [ТС] | |
|
0
|
|
|
Диванный эксперт
|
|
| 25.04.2017, 14:18 | |
|
0
|
|
|
Мы сами всего творцы!
60 / 23 / 1
Регистрация: 06.06.2012
Сообщений: 151
|
|
| 25.04.2017, 14:22 [ТС] | |
|
Max Dark, спасибо за информацию. Буду пробовать.
0
|
|
|
Мы сами всего творцы!
60 / 23 / 1
Регистрация: 06.06.2012
Сообщений: 151
|
|
| 10.05.2017, 12:03 [ТС] | |
|
Max Dark, снова привет. Не было возможности заняться этим вопросом ранее. Слушай, в целом что делать я понимаю, однако не понимаю вот чего: чем эти числа отличаются? Ты дал всего 3 и я не могу найти никакой связи, чтобы добавить еще 10-20 новых локаций...
Число 0x0000000210000000011 больше 0x000000010000000011 почти в 33 раза (в десятичной системе). А 0x800000000000000011 вообще не переводится в десятичную систему по человечески. Подскажи логику увеличения этих чисел пожалуйста.
0
|
|
|
|
|||||||||||
| 10.05.2017, 12:20 | |||||||||||
|
Alexell, там, похоже, очепятка случилась. Должно быть так:
Каждое значение может иметь установленным в единицу только 1 бит. Тогда при логическом сложении биты друг другу мешать не будут. В 0x0F, например, очевидно, что установлены биты 0, 1, 2 и 3, то есть значения enum с числами 0x01, 0x02, 0x04, 0x08. И всё переводится по человечески. Если калькулятор не тащит, это его проблемы ![]() Добавлено через 7 минут 1 << 0 = 20 1 << 1 = 21 1 << 2 = 22 ... 1 << 31 = 231
1
|
|||||||||||
|
Мы сами всего творцы!
60 / 23 / 1
Регистрация: 06.06.2012
Сообщений: 151
|
||||||
| 10.05.2017, 12:35 [ТС] | ||||||
|
Rius, если я наконец правильно понял с возведением в степень, то описанное ниже правильно?
0
|
||||||
|
Диванный эксперт
|
||||||||
| 10.05.2017, 12:42 | ||||||||
LL - указание компилятору использовать long long int для значенияВ каждой следующей константе этот бит смещается на один влево от предыдущего. там в примере была ошибка - лишняя единица в константе Some2
0
|
||||||||
|
Мы сами всего творцы!
60 / 23 / 1
Регистрация: 06.06.2012
Сообщений: 151
|
|
| 10.05.2017, 12:44 [ТС] | |
|
Rius, я просто умножал каждое число на 2 и конец настал как раз на 28 пункте, как дальше считать, не знаю.
Может так? Some28 = 0x8000000000000000ll Some28 = 0x2000000000000030ll Some30 = 0x4000000000000060ll
0
|
|
| 10.05.2017, 12:48 | |
|
Не по теме: Alexell, гадать не надо, ответы выше.
0
|
|
|
Мы сами всего творцы!
60 / 23 / 1
Регистрация: 06.06.2012
Сообщений: 151
|
|
| 10.05.2017, 12:50 [ТС] | |
|
Rius, ну так я не гадал, калькулятор выдает такие числа при продолжении умножения на 2, но я не знаю правильные ли они.
0
|
|
|
Диванный эксперт
|
|||||||
| 10.05.2017, 13:04 | |||||||
|
Вам подсказали нормальное решение генератор следующих значений
http://ideone.com/0djvCX
0
|
|||||||
|
Мы сами всего творцы!
60 / 23 / 1
Регистрация: 06.06.2012
Сообщений: 151
|
||||||
| 10.05.2017, 13:15 [ТС] | ||||||
|
Max Dark,
0
|
||||||
|
Диванный эксперт
|
||||||
| 10.05.2017, 13:25 | ||||||
|
Alexell, так вот лучше.
0
|
||||||
|
Мы сами всего творцы!
60 / 23 / 1
Регистрация: 06.06.2012
Сообщений: 151
|
|
| 10.05.2017, 13:26 [ТС] | |
|
Max Dark, аа, даже так? Я сначала не так понял описанное выше. Спасибо, будем пробовать.
0
|
|
| 10.05.2017, 13:26 | |
|
Алгоритм выделение динамической памяти под переменные различного типа Enum или enum class и где его располагать Массив строк, выделение памяти Выделение памяти под массив Выделение памяти под массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|