【发布时间】:2013-08-16 23:38:22
【问题描述】:
编辑: 我知道在循环体之前声明一个对象效率更高,因为它在每次函数调用时调用构造函数和析构函数,而不是每次循环迭代一次。假设由于这个原因,类型 A 的对象在循环体之外更有效。
我想知道以下是否
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
}
因为前者会调用 A 的构造函数和析构函数一次,而不是后者每次调用 foo 都会调用一次。我通常在所有本地对象中问这个问题。
【问题讨论】:
标签: c++ object constructor local-variables