我正在閱讀關於優化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