Спецификация std::addressof была изменена для С++ 17: теперь это разрешено быть постоянным выражением. Однако cppreference говорит, что:
Выражение
std::addressof(E)является постоянным подвыражением, еслиEравно постоянное подвыражение lvalue.
- Что такое постоянное подвыражение?
- Что такое пример, когда
std::addressof(E)будет постоянным выражением? - Что такое пример, где
std::addressof(E)НЕ будет постоянным выражением?