Почему не меняется значение переменной после выражения (a = b) в decltype?
В C++, выражение decltype(a = b) имеет особое поведение, которое называется правилами поддержки ленивых вычислений. Из-за этих правил, выражение a = b внутри decltype не изменяет значение переменной a. Правила поддержки ленивых вычислений гарантируют, что выражение в decltype не будет вычислено при компиляции, а будет отложено до момента выполнения. Поэтому, когда вы пишете decltype(a = ... Читать далее