Я не понимаю, почему временный объект, на который ссылается выражение константы основного значения prvalue, не должен иметь никакого указателя или ссылки, которая указывает или ссылается на объект с продолжительностью хранения, отличной от статической, для этого выражение постоянной константы prvalue должно быть постоянным выражением; см. N4296 [expr.const] 5.20\5.
Я думаю, что реализациям можно переписать это правило следующим образом:
[expr.const] 5.20\5 (изменено)
Ядро константное выражение e является постоянным выражением, если только оно инициализирует объект таким образом, чтобы он содержал указатель, который указывает на объект с продолжительностью хранения, отличный от статического.
Если это не так, может кто-нибудь объяснить, почему?