|
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 7
|
||||||
Адрес элемента в векторе19.02.2018, 18:51. Показов 8207. Ответов 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 Добавить методы поиска медианного элемента в матрице и векторе
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|