Как 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

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