|
2 / 2 / 0
Регистрация: 08.01.2016
Сообщений: 491
|
|||||||||||
Создание произвольного синтаксиса для работы с массивами05.06.2020, 12:04. Показов 1348. Ответов 30
Метки нет (Все метки)
Добрый день,
Вот в С++ имеется возможность задания массива например вот так:
Возможно ли написать собственный класс для массива произвольной размерности, где будет сохранен подобный синтаксис в квадратных скобках, и добавлена возможность извлечь определенные элементы (элементы на пересечении строк со 2 до 5 и столбцов с 6 до 8) с помощью синтаксиса:
0
|
|||||||||||
| 05.06.2020, 12:04 | |
|
Ответы с готовыми решениями:
30
Создание функций для работы с массивами Создание класса для работы с массивами чисел |
| 05.06.2020, 16:13 | |
|
Не по теме: Ну вот, пока я писал, пока обсуждал с соседом вопросы погоды и сельского хозяйства, подобные идеи в этом топике уже появились:)
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 05.06.2020, 16:20 | ||
|
Но всетки подумай над предложениемАлексей1153 (пост 13) и моим. Описание того, что тебе нужно, поместить в строку. И уж ты сам это описание разбираешь и понимаешь. По сути, это создание своего языка. Но и "транслятор" к нему - тоже свой.
1
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||
| 05.06.2020, 16:45 | ||||||||
1
|
||||||||
|
2 / 2 / 0
Регистрация: 08.01.2016
Сообщений: 491
|
||
| 05.06.2020, 16:54 [ТС] | ||
|
Ребят, спасибо всем! Мне надо обмозговать все что было предложено и попробовать реализовать
Но мне очень важна производительность, надо пару дней. hoggy, спасибо, в ближайшее время попробую. Пока что я не соображу (я начинающий), но думаю что у вас есть решение и оно должно работать. Надо попробовать
0
|
||
|
76 / 68 / 10
Регистрация: 11.07.2016
Сообщений: 320
|
|
| 05.06.2020, 17:53 | |
|
А не рассматривалась идея не пихать всё в одну кучу, а построить всё вокруг базовой матрицы? В частности, 3д матрицу можно "переосмыслить" как "массив" 2д матриц. В таком случае, просто, можно для 2д матрицы написать очень простой stl-совместимый итератор, для 3 добавить 1 простое условие для прыжка, и так далее. Единственное, что смущает - количество проверок внутри итераторов. Хотя для достаточно больших "суб"-матриц это частично скомпенсируется предсказателем ветвлений, но всё же.
0
|
|
|
фрилансер
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,289
|
|||||||||||
| 05.06.2020, 18:07 | |||||||||||
|
Zirak, можно ещё такой синтаксис без сахара:
extract извлекает результат (создаёт новый объект и возвращает его), при этом списки очищаются ну и нет защиты от случая, если пользователь не вызвал extract - списки не очистятся сами с сахаром выглядело бы так
Если размерностей больше двух, то можно изобрести метод coordN(N,start,stop) . Либо, в случае строки, продолжить перечисление в дальнейших скобках
0
|
|||||||||||
|
76 / 68 / 10
Регистрация: 11.07.2016
Сообщений: 320
|
|
| 05.06.2020, 18:13 | |
|
Не, я тут подумал, чтобы не ломать голову мерностями, 3д - матрица массивов, 4д - матрица матриц и так далее. Всю информацию можно в один массив запихнуть, формула для расчёта индекса элемента в зависимости от мерности получается довольно простой, к тому же.
упд. Алексей1153, что-то такое, но видится мне, можно в одну перегрузку () всё уместить
0
|
|
|
фрилансер
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,289
|
|
| 05.06.2020, 18:18 | |
|
Zirak, да, для хранения N-мерного объекта одного вектора достаточно + список из N размеров
0
|
|
|
фрилансер
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,289
|
|
| 05.06.2020, 18:40 | |
|
Avazart, по сути - то же самое
0
|
|
| 05.06.2020, 18:40 | |
|
Создание шаблонной функции для работы с массивами разных типов данных
Функции для работы с массивами
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|