Несмотря на чтение некоторых сообщений StackOverflow ( this и this ) и страниц cppreference, я не могу понять, как non-stati c constexpr
локальная переменная была бы полезна по сравнению с static constexpr
one .
Единственное различие, которое я вижу, состоит в том, что каждый вызов будет иметь свой собственный экземпляр, но поскольку это constexpr
Я не вижу здесь практического преимущества (поскольку, если я правильно понимаю, это приведет к тому, что каждый экземпляр будет идентичным и неизменяемым, что сделает несколько экземпляров просто избыточными).
Или, чтобы аргументируйте с другой точки зрения: поскольку нестатические c constexpr
локальные переменные инициализируются при (каждом) вызове функции, нет никаких преимуществ для простого const
локального, несмотря на то, что он может использоваться для оценок во время компиляции. Но когда они необходимы для оценки во время компиляции, нет смысла делать их не статичными c.
Итак, мой вопрос: в чем мой аргумент несовершенный и в каких случаях нестатический c constexpr
локальная переменная быть разумной и, возможно, лучшим выбором?