|
8 / 8 / 5
Регистрация: 28.10.2012
Сообщений: 135
|
||||||
Можно ли обойти динамический массив не зная его размер?11.04.2016, 02:13. Показов 14388. Ответов 79
Метки нет (Все метки)
1
|
||||||
| 11.04.2016, 02:13 | |
|
Ответы с готовыми решениями:
79
Можно ли создать массив, изначально не зная его размерности? Можно ли задать массив, не зная заранее его длину? |
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 11.04.2016, 19:24 | |
|
Я говорил, что "динамический" = "в динамической памяти", так по крайней мере в России привыкли, и та книжка подтверждает, хоть и говорится "так называемый".
0
|
|
|
Комп_Оратор)
|
||
| 11.04.2016, 19:30 | ||
![]() Это важно, именно, в контексте данной темы.
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 11.04.2016, 19:53 | |||
|
Добавлено через 2 минуты
0
|
|||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 11.04.2016, 20:16 | |
|
Fulcrum_013,
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
|
|||
| 11.04.2016, 20:16 | |||
|
1
|
|||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 11.04.2016, 20:34 | |||
|
Указатель же неконстантный и размер того на что он указывает при компиляции неизвестен. Да кстати, я так думаю существуют соответствующие функции менеджера кучи (только скорее всего недокументированные) которые позволяют узнать размер блока кучи на который указывает указатель. А знать этот размер менеджер кучи просто обязан. при удалении куска памяти размер никто не указывает. Значит менеджер кучи его и сам знает.
0
|
|||
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
|
|
| 11.04.2016, 20:42 | |
|
1
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 11.04.2016, 20:50 | ||
|
0
|
||
| 11.04.2016, 21:09 | |
|
Не по теме: Одни про Фому, другие про Ерёму...
0
|
|
|
Комп_Оратор)
|
|||
| 11.04.2016, 21:42 | |||
|
nmcf, вот смотрите:
castaway, всё началось, именно при обсуждении топика. Там русским по белому написано "массив", на что rikimaru2013 возразил. И к месту. Потому, что отсюда начинается и охота поискать размер. Ведь у массивов бывает непереносимая и недокументированная возможность определения размера по указателю. Хотя если как массив передать , то оно и так есть. castaway, всё это настолько многословно и многонюанстно, что хочется просто помолчать. Иначе слов немеряно, а толку мало. Тут ты прав.
0
|
|||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 11.04.2016, 21:47 | |
|
Это, вероятно, теоретики придумали после, что есть тип массив, а есть указатель привязанный к блоку памяти, который не массив. А механизм работы в основе один и тот же - указатель, о чём Fulcrum_013 и сказал.
0
|
|
|
Комп_Оратор)
|
|||
| 11.04.2016, 21:50 | |||
![]()
0
|
|||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 11.04.2016, 21:52 | |
|
Ну а у true-массива индекс - это что? Та же арифметика - достаточно взглянуть на ассемблерный код.
0
|
|
| 11.04.2016, 21:55 | |
|
Не по теме: IGPIGP, я всё понимаю. Термин "массив" можно интерпретировать по-разному, что вы (со всеми остальными) и делаете. "Глобальная" интерпретация этого термина в отношении к C++ - это лишь частный случай.
0
|
|
|
Комп_Оратор)
|
||
| 11.04.2016, 21:55 | ||
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||||||
| 11.04.2016, 21:57 | ||||||
|
Учитывая тематику вопроса я подумал, что будет важно указать на ошибку вначале, иначе всеравно прийдем к цитате с стандарта С++, что такое массив и куску кода:
0
|
||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 11.04.2016, 21:59 | |
|
IGPIGP, почему тебя так размер волнует? Это главный признак правильного массива? Используя new мы тоже размер знаем. Просто получается более низкоуровневый массив - меньше встроенных средств для работы с ним, уровень абстракции другой.
0
|
|
|
Комп_Оратор)
|
||
| 11.04.2016, 21:59 | ||
|
castaway, тут ТС уже всё сказали. Дальше разговор о устойчивых и вредных стереотипах. Он имеет самостоятельную ценность, так как касается уже людей с некоторым опытом.
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 11.04.2016, 22:04 | |
|
castaway, тоесть мой ответ не верный и мне не полагается балл?(
0
|
|
| 11.04.2016, 22:04 | |
|
Помогаю со студенческими работами здесь
40
Как правильно передать динамический массив в функцию, увеличивающую его размер, чтобы изменения сохранились
Создать массив с нулями и единицами в шахматном порядке, что бы его размер можно было вводить с клавиатуры
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|