07/07/24 01:52:34
>>282
それを参考に辿ってみたら、こんな質問を発見しました。
URLリンク(www.open-std.org)
ここでは 9.3.1 で明確に未定義と述べられているとしていますが、
個人的には 9.3.1 は根拠とするには薄い気がします。
その後に書いてある左辺値→右辺値変換の方が明確な根拠に思えます。
p->f() は (*p).f() に変換され、. の左項は右辺値であることから、
左辺値から右辺値への変換(ヌルポインタの参照)が行われ、結果未定義動作となる、
という流れの方が自然なのかなあ、と。
情報ありがとうございました。