2015-04-24 48 views
-3

我有一個函數會返回一個值,我想在多個地方使用該函數的結果。將結果存儲到一個變量中並在需要的地方使用它,或者直接調用該函數而不是將其存儲在變量中並使用它。哪種方法可以將函數的結果分配給變量或一次又一次地調用函數?

#include<iostream> 

int function(int x,int y){ 
    return (x<<y); 
} 

int main(){ 
    int a = 10; 
    int b = 5; 
    int c = function(a,b); 
    int d = c*c; 
    int e =function(a,b)*function(a,b); 
    return 0; 
} 
+1

當您比較兩個版本的測量值時,您發現了什麼? –

回答

2

這取決於您的功能和代碼的整體性。如果你的功能是

struct DeepThought { 
    int theAnswer() { 
     sleep(7.5 million years); 
     return 42; 
    } 
}; 

那麼我想緩存的答案的地方,以免支付多罰一次以上。然而,如果你的函數比你的最低性能要快,那麼你的代碼可能比沒有函數更易讀。當然,如果所討論的功能不純,這個問題就沒有實際意義了。另見備忘錄。

相關問題