|
0 / 0 / 0
Регистрация: 15.02.2025
Сообщений: 10
|
||||||
Является ли vector примером динамического массива?17.02.2025, 19:33. Показов 8154. Ответов 72
Метки нет (Все метки)
Является ли vector примером динамического массива? Вопрос может звучать странно и я вижу в нем однозначный ответ, что вектор все таки является примером динамического массива, но все равно, хотелось бы убедиться, потому что мнения в интернете расходятся
(Готовлюсь к зачету в унике, вопросы по теории это бред, из-за формулировки некоторых нельзя дать однозначный ответ, поэтому не бейте палками)В каких строках приведен пример динамического массива?
0
|
||||||
| 17.02.2025, 19:33 | |
|
Ответы с готовыми решениями:
72
Является ли такое решение задачи примером динамического программирования? Что является причиной ошибки после завершения всех операций? (динамический массив) Собственный динамический массив (аналог std::vector) |
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|||||||
| 17.02.2025, 21:38 | |||||||
0
|
|||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 17.02.2025, 21:41 | |
|
Royal_X, я для кого пример показывал?
Значит он не массив. Сколько его не обзывай им
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
||
| 17.02.2025, 21:53 | ||
|
и кстати, как там в памяти, это тоже второстепенно ведь, чтобы быть массивом по семантике достаточно предоставлять возможность хранить данные, записывать и читать отдельные элементы, даже не важно, как он там внутренне реализован. Тот же string можно называть массивом символов по семантике, хотя в ранних версиях стандарта нет даже гарантии, что хранятся contiguously. Однако, мы же говорим о семантике, не вдаваясь в детали реализации. То, что vector не является массивом, я согласен. Но тут речь о семантике. И выше я показал, что даже на сайте cppreference вектор называют "динамическим массивом". Массив по семантике это абстрактная штука, которая ничем не регламентирована. У каждого программиста свои требования. Допустим, засунет некто 8 битов в одну лишь char (при CHAR_BIT 8). И этот чел может смело называть char массивом битов по семантике... в конкретном случае. Но в вопросе ТС вряд ли спрашивается по семантике, поэтому правильные ответы, скорее всего, 1 и 4.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 17.02.2025, 22:36 | ||
|
Есть четкое определение что такое массив в С++ :
https://eel.is/c++draft/dcl.array#3
1
|
||
|
фрилансер
6499 / 5730 / 1133
Регистрация: 11.10.2019
Сообщений: 15,322
|
|
| 18.02.2025, 08:38 | |
|
nkrdd, вектор - это не массив, но это объект, который тоже хранит элементы, расположенные в памяти непрерывно друг за другом. Для доступа к ним есть интерфейс.
То есть, через вектор можно имитировать поведение массива, если так проще воспринимать. А будет вектор использовать динамическую память, стек или ещё что другое - зависит от аллокатора.
0
|
|
|
|
||||||||
| 18.02.2025, 11:38 | ||||||||
0
|
||||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||
| 18.02.2025, 12:12 | |||
|
Ибо интерфейс изменения размера не обязательно должен выражаться через квадратные скобки. resize() ничем не уступает им (квадратным скобкам) в динамичности
0
|
|||
|
|
|
| 18.02.2025, 12:42 | |
|
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|||||||
| 18.02.2025, 12:51 | |||||||
|
А прикинь пользователь будет вводить
0
|
|||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||||||||
| 18.02.2025, 12:55 | ||||||||
|
Динамический массив - в отличии от статического - это массив изменяемого размера. Как устроено API изменения размера - не является решающим отличием от статического массива. Добавлено через 3 минуты Хотя, конечно, если их "приравнять" (мап и вектор), то не понятно какое должно быть поведение для
0
|
||||||||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
||
| 18.02.2025, 13:00 | ||
|
*** по определению вектора, промежуточные элементы должны быть созданы, и они должны что-то хранить, например, либо мусор, либо нули, что вообще не эффективно, т.к. увеличивает capacity и память, выделенную под вектор. вот, unordered_map не обязан непрерывно хранить, и там есть корзиночки, которые эффективно хранят разбросанный по Вселенной элементы.
0
|
||
|
|
|||||||||||||
| 18.02.2025, 13:08 | |||||||||||||
Но, соглашусь, что в каких то случаях это может быть опасно. Однако это гораздо безопаснее чем выход за пределы если сделать:
0
|
|||||||||||||
| 18.02.2025, 13:34 | |
|
0
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||
| 18.02.2025, 13:38 | ||
|
Оно ровно про это Вопрос терминологии же. В рамках C++ массивом называется непрерывное (по индексам) хранилище, а хранилище вида "ключ-значени" реализует map. Зачем смешивать.
0
|
||
|
|
|||
| 18.02.2025, 13:43 | |||
|
0
|
|||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||
| 18.02.2025, 13:55 | |||
|
Могли бы поподробнее развернуть?
0
|
|||
|
2690 / 1347 / 485
Регистрация: 08.11.2016
Сообщений: 3,736
|
|||||
| 18.02.2025, 13:59 | |||||
|
это утверждение Добавлено через 30 секунд
0
|
|||||
| 18.02.2025, 14:11 | |
|
0
|
|
|
|
|||||||
| 18.02.2025, 14:16 | |||||||
0
|
|||||||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,326
|
|
| 18.02.2025, 14:22 | |
|
Если в массив можно добавлять/удалять данные не меняя его длину (меняется автоматически) - значит массив динамический. Как там всё устроено внутри (в куче, не в куче) - кому это интересно?
0
|
|
| 18.02.2025, 14:22 | |
|
Скорость работы std::vector и обычного динамического массива Динамические массивы типа vector и array Как правильно записывать в динамический массив типа класса обьекты? вот банальный пример Реализовать шаблон класса vector, реализующий динамический массив На основе контейнера vector построить двумерный динамический массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Часы электронные
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С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|