170 похожих чатов

Тут получается out-of-bounds array access: (array + i) не валидно если

i > N, где N - размер массива.
какого массива? того, что получился в выражении array[0]
а это массив типа int[5]

19 ответов

11 просмотров

Невалид i ≥ N, т.к последний элемент будет иметь индекс N - 1. {0, 1, 2, 3, 4} => N = 5 Элемента с индексом 5 не существует.

Stepan
Невалид i ≥ N, т.к последний элемент будет иметь и...

но вычислить указатель на него можно

Andrey-Glebov Автор вопроса
Stepan
Невалид i ≥ N, т.к последний элемент будет иметь и...

согласен, не очень ясно написал, но всё же выражение (array + 5) валидно - получается past-the-end указатель вот *(array + 5) уже нельзя

Anton
нельзя

Можно, это специально проговоренный случай

Sergey Skvortsov
Можно, это специально проговоренный случай

это не будет элементом следующего массива

Anton
нельзя

expr.add#4.2 определенно пункт дня сегодня в этом чате

Vlad
expr.add#4.2 определенно пункт дня сегодня в этом ...

это будет указатель, но не на элемент

Anton
это будет указатель, но не на элемент

речь шла только о том, что указатель можно вычислить

Vlad
речь шла только о том, что указатель можно вычисли...

но вычислить указатель на него можно на кого ?

Anton
это будет указатель, но не на элемент

а на что-же? на память? на какую? на гипотетический элемент (если мы не вышли за пределы массива х) points to the (possibly-hypothetical) array element. но если это указатель на память, в котором лежит элемент массива х то что же это?

Anton
но вычислить указатель на него можно на кого ?

На гипотетический элемент, очевидно

Stas Koynov
а на что-же? на память? на какую? на гипотетически...

именно это и не определено. это и есть UB

Anton
именно это и не определено. это и есть UB

да я вас умоляю, кто вам это запрещает. тогда бы все memset-ы и т.п код просто бы не работал!

Stas Koynov
да я вас умоляю, кто вам это запрещает. тогда бы в...

memset делают на каждый вложенный массив отдельно

Stas Koynov
да я вас умоляю, кто вам это запрещает. тогда бы в...

Вы вроде столько лет эту идею продвигаете, ещё не надоело?) Код с UB работает прямо сейчас в конкретном примере != UB нет

Ilya Zviagin
Можно делать и целиком

да можно делать и как в этом примере с UB

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта