Объяснение веб-стека nginx / starman / dancer

Да, это использование -> имеет неопределенное поведение в прямом смысле английского термина undefined.

Поведение определяется только в том случае, если первое выражение указывает на объект и не определено (= undefined ) в противном случае. В общем, вы не должны искать больше в терминах undefined, это означает только то: стандарт не дает смысла для вашего кода. (Иногда он явно указывает на такие ситуации, которые он не определяет, но это не меняет общий смысл этого термина.)

Это вялость, которая вводится, чтобы помочь разработчикам компилятора справиться с вещи. Они могут определять поведение даже для кода, который вы представляете. В частности, для реализации компилятора отлично использовать такой код или аналогичный для макроса offsetof. Приведение этого кода в нарушение ограничений блокирует этот путь для реализации компилятора.

32
задан Vijay Boyapati 26 August 2012 в 04:17
поделиться