我正在阅读关于优化teckniks的书。例子中没有太多的描述或建议。这里的东西:C“静态”优化
int agag(int a)
{
static int dfdfdf = 0;
static int prev_resilt = 0;
if (dfdfdf == a)
return prev_result;
dfdfdf = a;
a = SomeCalcs();
prev_result = a;
return a;
}
关键是:如果参数是与以前的计算相同,它会立即返回以前的结果,避免了硬计算。 现在的问题是:这两个静态变量是否会一直存在,直到程序结束?据我了解,有很多这些是不好的事情?
我知道这并没有太多的优化。但我只关心静态变量的影响..
非常感谢您的答案!
这种类型的优化只有在以下情况下才适用:(1)计算费用昂贵;(2)机会很高,可能会用相同的参数再次调用该函数。 – 2010-10-17 19:06:40
请张贴本书的名称/作者。 – 2010-10-17 19:49:24
Harriet Gecks。优化C++ – Kane 2010-10-17 20:12:50