|
0 / 0 / 0
Регистрация: 15.02.2025
Сообщений: 10
|
||||||
Является ли vector примером динамического массива?17.02.2025, 19:33. Показов 8108. Ответов 72
Метки нет (Все метки)
Является ли vector примером динамического массива? Вопрос может звучать странно и я вижу в нем однозначный ответ, что вектор все таки является примером динамического массива, но все равно, хотелось бы убедиться, потому что мнения в интернете расходятся
(Готовлюсь к зачету в унике, вопросы по теории это бред, из-за формулировки некоторых нельзя дать однозначный ответ, поэтому не бейте палками)В каких строках приведен пример динамического массива?
0
|
||||||
| 17.02.2025, 19:33 | |
|
Ответы с готовыми решениями:
72
Является ли такое решение задачи примером динамического программирования? Что является причиной ошибки после завершения всех операций? (динамический массив) Собственный динамический массив (аналог std::vector) |
| 18.02.2025, 14:28 | |
|
0
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 18.02.2025, 15:07 | |
|
0
|
|
|
2689 / 1346 / 485
Регистрация: 08.11.2016
Сообщений: 3,734
|
|||
| 18.02.2025, 15:14 | |||
|
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||||||
| 18.02.2025, 17:14 | ||||||||
|
Не по теме: Поэтому как бы можно было бы посчитать что динамических массивов в чистом виде нет. Не прибегая ко всяким кастам, placement new и другим извращениям. Как бы вроде способ, хоть и костыльный :
0
|
||||||||
|
|
|||
| 18.02.2025, 17:22 | |||
|
0
|
|||
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
||
| 18.02.2025, 17:31 | ||
|
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||
| 18.02.2025, 17:37 | ||||
|
Ты теплое с мягким попутал Добавлено через 1 минуту ![]() Астанавите, Вите надо выйти. )) Добавлено через 1 минуту
0
|
||||
|
фрилансер
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,289
|
||||||||||||
| 18.02.2025, 20:43 | ||||||||||||
|
Можно передать и по значению (в составе структуры) и по указателю/ссылке на массив
size in bytes==240
0
|
||||||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||||
| 18.02.2025, 21:52 | |||||
|
Есть pointer. Есть storage. Всё можно ясно выразить. ![]() Добавлено через 3 минуты
0
|
|||||
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
|||
| 18.02.2025, 22:23 | |||
|
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||
| 19.02.2025, 00:28 | ||||
|
При доступе к элементам вектора выше index < size() - поведение не определенно. По вполне понятным причинам. Говорить о каких то "затирает данные" "за хвостом", довольно глупо.
1
|
||||
|
|
||||||||
| 19.02.2025, 11:54 | ||||||||
0
|
||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 19.02.2025, 12:03 | ||
|
Коротко. Цели : универсальность, гибкость и производительность. Подробнее погуглишь сам. Я лично не вижу там ничего "недоработанного", что бы это ни значило. Чего то может не хватает. Но то что уже есть, лучше не будет. Исходя их своего назначения.
0
|
||
|
|
||||||||
| 19.02.2025, 12:11 | ||||||||
Подозреваю, что throw всё таки выбрасывается, так как в дебаггере я наткнулся на вызов throw. Однако никаких предупреждений от компилятора я явно не получил. и такая ошибка может оказаться незамеченной. По крайней мере можно было сделать так: если индекс выходит за пределы вектора, то неявно вызывается push_back().
0
|
||||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||
| 19.02.2025, 12:20 | |||
|
Также предполагаю, что есть опции компилятора проверять / не проверять границы в векторе (с ходу не нагуглилось чета) Добавлено через 3 минуты Есть документированное поведение. Если вы почему-то от вектора ожидаете другого поведения "потому что в языке Х то, что там названо массивом, работает вот так и я к этому привык" - то это, извините, сугубо ваши проблемы. В С++ ожидаемое вами поведение документировано для map. Используйте map со всеми его недостатками, а вектор - он для другого. Что не мешает быть вектору абсолютно и полностью динамическим.
2
|
|||
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
||
| 19.02.2025, 12:20 | ||
|
CoderHuligan, это сделано специально. Любая проверка влияет на производительность. Если нужны проверки, то используй at, которая выбросит исключение. Если ты уверен в своем коде, то используй [], который ничего не проверяет и поэтому быстрее at
2
|
||
|
фрилансер
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,289
|
|
| 19.02.2025, 12:30 | |
|
1
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||||||
| 19.02.2025, 13:16 | |||||||
|
Используем алгоритмы, одни и те же для разных данных. Если нужен массив из 20 элементов - используем std::array из 20 элементов. Нужен массив из N - используем std::array. Нужен массив из "а ХЗ из сколько элементов" - берем карандаш в руки и рисуем :
![]() Теперь у меня вопрос. А кому оно надо в С++ то???
2
|
|||||||
|
|
||
| 19.02.2025, 13:18 | ||
0
|
||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||
| 19.02.2025, 13:24 | |||
|
Есть документация, в ней написано что на самом деле надо ожидать, и если мои фантазии разбились об реальность - так это моя проблема. Да даже банальный resize уже готов и оттестирован, зачем массив??
1
|
|||
| 19.02.2025, 13:24 | |
|
Скорость работы std::vector и обычного динамического массива Динамические массивы типа vector и array Как правильно записывать в динамический массив типа класса обьекты? вот банальный пример Реализовать шаблон класса vector, реализующий динамический массив На основе контейнера vector построить двумерный динамический массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни
1. Механизм отложенного высвобождения фосфора
Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ
Реализована разная скорость. . .
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|