LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

В списке UB есть:

Addition or subtraction of a pointer into, or just beyond, an array object and an integer type produces a result that does not point into, or just beyond, the same array object1

&((int*)val)[1] === ((int*)val) + 1

Так что если val не является указателем на массив элементов типа int длиной не менее двух, будет UB.

Исходная версия monk, :

В списке UB есть:

Addition or subtraction of a pointer into, or just beyond, an array object and an integer type produces a result that does not point into, or just beyond, the same array object1

&((int*)val)[1] == ((int*)val) + 1

Так что если val не является указателем на массив элементов типа int длиной не менее двух, будет UB.