Редактировать: Я знаю, что объявление объекта перед телом цикла более эффективно, так как он вызывает конструктор и деструктор для вызова функции, а не один раз на итерацию цикла. Допустим, что объекты типа A более эффективны вне тела цикла из-за этих рассуждений.более эффективно создавать статические локальные объекты C++
мне интересно, если следующий
void foo()
{
static A var; //A is a class with a constructor
... //stuff done with var
}
является более эффективным, чем
void foo()
{
A var; //A is a class with a constructor
... //stuff done with var
}
, так как первый назвал бы конструктор в и деструктор один раз, а не тот, который делает это за вызов обув , Я задаю этот вопрос в основном по всем локальным объектам.
Ну, в общем случае, если конструктор не будет иметь значения для остальных объектов, то первое будет лучше (если конструктор достаточно большой) – bathtub
@bathtub нет, это далеко не важная разница , – Yakk
О, спасибо за это. Действительно оцените это – bathtub