Как boost::interprocess::offset_ptr позволяет избежать неопределенного поведения?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как boost::interprocess::offset_ptr позволяет избежать неопределенного поведения?

Сообщение Anonymous »

Идея NullableOffsetPtr вдохновлена ​​boost::interprocess::offset_ptr.
В какой степени их реализация может справиться с ограничениями expr.add#4.2 и избежать UB? Нашёл термин «незаконно, но правильно» в контексте встраивания:

Код: Выделить всё

   //Note: using the address of a local variable to point to another address
//is not standard conforming and this can be optimized-away by the compiler.
//Non-inlining is a method to remain illegal but correct

Однако я не понимаю, как встраивание связано с UB, и существует ли широко признанная незаконная корректность, которую можно было бы проверить. Есть предложения?

Подробнее здесь: https://stackoverflow.com/questions/784 ... -behaviour
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»