|
1 / 1 / 0
Регистрация: 18.01.2015
Сообщений: 8
|
|||||||||||
Массив фиксированного размера может быть динамическим? Что такое "динамический массив"?31.10.2015, 16:48. Показов 4595. Ответов 52
Метки нет (Все метки)
есть код
И ещё, это кусок proxy checker`a нашел на гитхабе, С стайл, пытаюсь разобраться что и как сделанно. Зачем спросите вы? Изучаю С++, просто книжку читать не могу - засыпаю, но если попытатся разобратся в небольшом интересном коде - это да - интересно.
0
|
|||||||||||
| 31.10.2015, 16:48 | |
|
Ответы с готовыми решениями:
52
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 31.10.2015, 22:43 | ||
|
О(1) без учета резерва (ну или не учитывая резерв). или издержки на реалокацию, при условии нехватки резерва.
0
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||
| 31.10.2015, 22:49 | ||
|
Добавлено через 2 минуты Иначе и без вектора в С++ резко появляется динамический массив. пересоздаваемое путем создания нового, копирования и удаления старого. Добавлено через 2 минуты а то, что при каждом чуть ли не первом добавлении резерва не хватает - это только-лишь частный случай издержек.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||
| 31.10.2015, 22:57 | |||||||||
|
я повторюсь: на который налагается требование "единый блок данных", и при этом гарантировать отсутствие издержек. это технически невозможно гарантировать. я ещё раз повторюсь: динамические массивы - не более чем синтаксический сахар. под капотом у них там мало что отличается от обычного std::vector просто потому, что это не какое то волшебство. если памяти не хватает - она волшебным образом не возникнет. придется идти на издержки: либо реалочить блок данных контейнера, либо сдвигать блок данных, который встал на путях. поэтому фраза "Есть издержки - не динамика" - противоречит здравому смыслу. Добавлено через 5 минут с минимальными издержками, до рабочих размеров. однако, вам никто не запрещает взять резерв под контроль. std::vector::reserve либо задействовать собственный аллокатор памяти
0
|
|||||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 31.10.2015, 22:58 | |
|
Вы сами себе противоречите.
Вектор можно написать на С++ - это факт. Вектор почти не отличается от динамического массива. - Об этом Вы В С++ нет динамических массивов. В С++ есть вектор, который практически динамический массив. Вектор - это часть С++ - это неоспоримый факт. ерунда. Это всё очень не логично. Изложите Ваши мысли как минимум логично.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||
| 31.10.2015, 23:03 | ||||||||
|
массив который реализует функционал. и ... размазанный по всему проекту код, который реализует функционал. код есть, но нет ни массивов ни даже контейнеров реализованных на языке. Добавлено через 4 минуты кстати, очень точно: "практически". то есть формально он конечно не динамический массив, но с практической точки зрения - те же яйца, только сбоку. вектор - часть стандартной библиотеки языка с++, а не самого языка с++. стандартная библиотека написана на языке с++
0
|
||||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||
| 31.10.2015, 23:08 | ||||
|
Добавлено через 2 минуты
0
|
||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 31.10.2015, 23:12 | |||
|
стандарт описывает не только сам язык, но и некоторые положения, которые должны быть на нем реализованы.
0
|
|||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 31.10.2015, 23:13 | |
|
Еще про realloc нелогично.
неважно чем оперируют Сишники, важно что под капотом.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 31.10.2015, 23:18 | |
|
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||
| 31.10.2015, 23:31 | ||||
|
В стандартной библиотеке шаблонов (STL). Так пишут в учебниках.
Добавлено через 3 минуты Добавлено через 2 минуты БЛагодаря realloc массив становится динамическим (подобием вектора) (мало ли подумаете, что я realloc масивом обозвал)
0
|
||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 31.10.2015, 23:45 | ||||
|
вы различаете понятия "функции, которые манипулируют данными" от сами "данных"? он лишь может изменить размер блока памяти, адрес которого ему скормили. и этот блок памяти - всего лишь кусок сырой памяти. Добавлено через 25 секунд
0
|
||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||
| 31.10.2015, 23:48 | ||||
|
Добавлено через 35 секунд ![]() Добавлено через 1 минуту
0
|
||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 31.10.2015, 23:52 | |||
|
думаете такой: щас приду домой, воткну в розетку и гляну киношку. а вам вместо телефизора подсовывают коробку с кучей запчастей. из которых вооружившись напильником и такой то матерью в теории можно сделать подобие телека. действительно, какая разница какая там альтернатива? вектор хоть и не первый гражданин, но это - полноценный механизм, наделенный полноценной функциональностью. реалок - всего лишь функция, используя которую можно построить приличный контейнер. или размазывать функциональность тонким слоем по всему клиентскому коду. Добавлено через 35 секунд
0
|
|||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 31.10.2015, 23:55 | |
|
Ну а вектор - всего-лишь класс. Шаблонный класс. Обертка над массивом.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 31.10.2015, 23:57 | |||
|
зависит от наличия резерва. а его наличие зависит от стратегии управления этим резервом. однако не существует технической возможности гарантировать, что всегда хватит резерва под ещё один элемент. Добавлено через 56 секунд который аллоцируется в динамической памяти.
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 01.11.2015, 00:06 | ||
|
потому что он - не является настоящим динамическим массивом. он не понимает, что разница между "настоящим" и "вектором" только в том, что первый - гражданин (поддержка на уровне синтаксиса языка), а вектор - шаблонокласс (написан на языке). но под капотом у них у обоих примерно одинаковое. просто потому что иначе сделать невозможно.
0
|
||
| 01.11.2015, 00:10 | ||
|
0
|
||
| 01.11.2015, 00:10 | |
|
Что такое многомерный, динамический массив
Создать ассоциативный массив фиксированного размера Как такое может быть и что это такое? Как в структуре задать массив строк фиксированного размера? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|