C++ конкретно, если это имеет значение, но я думаю, что ответ лежит в ассемблере как-то.Быстрее использовать переменную, определенную в общей области, или переопределять ее в каждой внутренней области?
Если у нас есть несколько блоков в общей области видимости (например, функция), каждая из которых использует переменную того же типа, то быстрее определить переменную в общей области и повторно инициализировать ее в каждом блоке или переопределить и инициализировать его в каждом из блоков (или нет фундаментальной разницы)?
Пример:
int i;
{//block 1
i = SomeFunction();
...
}
{//block 2
i = SomeOtherFunction();
...
}
против
{//block 1
int i = SomeFunction();
...
}
{//block 2
int i = SomeOtherFunction();
...
}
нетривиальный конструктор * или деструктор * ...? –
Это зависит от того, какой блок введен, да. Если оба блока введены, вы получите дополнительное уничтожение объекта, если вы объявите переменную как можно более локальной. Если блоки не введены, очевидно, что вы не получите никаких разрушений (и никаких творений!) –