-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


UB или нет

Пятница, 25 Июня 2021 г. 20:21 + в цитатник
Qraizer: Если быстро, т.к. некогда лезть в Стандарт, то не должно скомпилиться. nullptr – это не указатель, это значение специального типа std::nullptr_t, причём единственное в нём, других не существует. Адресная арифметика с ним, вроде бы, не определена, вот в этом не уверен, не помню. Скорее всего, т.к. его равнопредпочтительно можно привести и к указателю, и к целому, а это сильно разные операции в адресной арифметике.

Добавлено
  • Если откастуешь к целому, то auto diff будет указателем и не скомпилится вторая строка. Кроме как nullptr откастуешь там к целому.
  • Если откасуешь к указателю, то UB ещё в первой строке, т.к. адресная арифметика не определена на масштабах, выходящих за рамки одного массива объектов. (Отдельный объект равносилен массиву из одного элемента.)


Добавлено
Подозреваю, что в строках 1 и 2 предполагаются разные касты. Не?

https://forum.sources.ru/index.php?showtopic=421537&view=findpost&p=3848387

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку