|
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 7
|
||||||
Адрес элемента в векторе19.02.2018, 18:51. Показов 8323. Ответов 29
привет всем!
есть код
0x19abc28 0x19abc28 подскожите всегдали вывод во второй строке будет такой же как в первой7 число элементов в векторе больше либо равно три конечно же!
0
|
||||||
| 19.02.2018, 18:51 | |
|
Ответы с готовыми решениями:
29
|
|
1 / 1 / 0
Регистрация: 20.02.2018
Сообщений: 6
|
||||||||
| 21.02.2018, 01:53 | ||||||||
|
Croessmah, ну я же честно написал:
Реализовать std::vector в текущей модели памяти C++ без UB невозможно. Доказывать мне обратное бессмысленно, т.к. это не моё мнение. Да, я буду давить авторитетом.Хотя желание поспорить понятно. Многим неуютно, когда идиоматический код оказывается нагромождением UB. Поэтому модель памяти собираются пропатчить так, что можно будет реализовать вектор с этой гарантией "непрерывности". Кстати, забавно: Кликните здесь для просмотра всего текста
Про new сказано:
&v[0] + 2 ![]() Чтобы нельзя было сослаться на это место. Про new мне позволю себе подробно не разбирать. Отвечу так: когда в C вводили правило strict aliasing-а, возникла проблема: malloc принимает только размер и возвращает void*, какой же тип выделяет malloc, чтобы можно было кастануть этот void* и пользоваться памятью через типизированный указатель не нарушая strict aliasing-а? Решение было примерно таким: память под какой тип программист намеревался выделить, на кусок памяти такого типа malloc и возвращает указатель. malloc — это волшебная функция.new это тоже волшебное выражение. У него особая роль в C++ — оно может создавать объекты. Даже если new[] сделан через new(size), то выделяется массив. Почему? Магия. Если в стандарте кривоватые формулировки по поводу new (типа как под спойлером), их можно поправить. А вот для работы вектора без UB нужно вносить правки серьёзнее исправления формулировок. Добавлено через 40 минут Есть такая хрень, как предоставление массивом из байтов памяти под объект (http://eel.is/c++draft/basic.m... es_storage). Идея разрешить адресную арифметику для объектов, для которых один и тот же объект-массив provides storage. Но это надо фиксить пункт про оператор плюс для указателей. Плюс надо в определении new указать, что оно выделяет именно массив байт, который можно использовать чтобы provide storage. Пока что про массив там ничего не сказано, сказано про " allocate size bytes of storage".
0
|
||||||||
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 21.02.2018, 14:02 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 20.02.2018
Сообщений: 6
|
||
| 21.02.2018, 20:46 | ||
&v[n] == &v[0] + n for all 0 <= n < v.size().
0
|
||
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 21.02.2018, 21:19 | |
|
А мне интересно кто тут под ником Друг ньюфага, начинает развод бадяжить.
То в #4 пишем MrGluck, New man, просто мне друг сказал что тут какое-то не определенное поведение. я подумал это значит что не известно будет такое же значение или не будет. Т.е. я не я, моя твоя ничего не понимай. И смотрим #21 Где у ТС уже совсем другие познания и стиль изложения. (Даже Страуструпа кастрировать собрался).
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 22.02.2018, 02:02 | |||||
|
Добавлено через 3 минуты Добавлено через 12 минут Добавлено через 13 минут
1
|
|||||
|
1 / 1 / 0
Регистрация: 20.02.2018
Сообщений: 6
|
|
| 22.02.2018, 02:18 | |
|
Fulcrum_013, я думаю, C++ — не Ваш конёк.
Вам лучше пообсуждать уменьшение EXE-файлов с помощью замены DOS stub.
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||
| 22.02.2018, 02:28 | ||||||
|
Друг ньюфага,
Код оператора [] вектора
И доверять любым другим источникам (!неожиданно)не имею права по роду занятий.
0
|
||||||
|
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 7
|
|
| 23.02.2018, 15:15 [ТС] | |
|
всем спасибо
все свободны
0
|
|
|
1 / 1 / 0
Регистрация: 20.02.2018
Сообщений: 6
|
|||
| 23.02.2018, 15:45 | |||
|
Вот, если кому интересно, ссылка на сообщение от Richard Smith1
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||||||
| 23.02.2018, 16:29 | ||||||||||||
|
Друг ньюфага,
из кода вектора STL
Ну а то что возвернутый указатель может nullptr оказаться ну дак на то и динамический массив а не статический. Добавлено через 5 минут
0
|
||||||||||||
| 23.02.2018, 16:29 | |
|
Найти номер по порядку элемента в векторе векторов Вернуть индекс последнего с конца элемента E в векторе V Добавить методы поиска медианного элемента в матрице и векторе
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|