Неоднократно видел в коде, как переменные создавались только для того, чтоб не писать везде далее исходное выражение.
Например:
bool bLalamba = pEnga->InternalLalamba.LalambaMember;
...
Foo(bLalamba);
Bar(bLalamba);
return bLalamba;
С выведением типов это немножко красивее:
var lalamba = enga.InternalLalamba.LalambaMember;
...
Foo(lalamba);
Bar(lalamba);
return lalamba;
Созрели вопросы: что эффективнее в современных компиляторах — заводить переменную на стеке или несколько раз находить адрес? Кэшируется ли для этого адрес? Есть ли языки, где кроме var'а доступен какой-нибудь alias (если бы не глобальность плюсовых макросов, они бы сгодились)?