「簡單有價值的事情長期堅持做」 這是成功最簡單,但也最難學的秘訣。不經過訓練,人很難意識到時間複利的威力。 仙劍奇俠傳的「十里坡劍神」和金庸群俠傳的「十級野球拳」,就是簡單的事情持之以恆反覆做,最後就有巨大的威力 唐家三少成為網文收入第一,最重要的一步是十四年從未斷日更 這樣的案例很多,一開始可能成 ...
今天開始學習極客學院的羅劍鋒的C++實戰筆記,學到了lambda表達式,這塊東西講真一直沒怎麼用過,今天學了點,想著寫一個
求解n!的實現,開始,一直發現無法實現f(n)=n*f(n-1)這樣的遞歸操作,百度了一下,網上還是大佬多呀!
下麵直接上代碼:
// Lambda入門學習.cpp : 此文件包含 "main" 函數。程式執行將在此處開始並結束。 // #include <iostream> using namespace std; int main() { int x; auto func = [](auto & self,int x)->int { //這裡加了一個參數,把自己再傳遞進來即可 if (x == 1||x==0) { return 1; } else { return x*self(self, x - 1); } }; cin >> x; cout << func(func, x) << endl;; return 0; } // 運行程式: Ctrl + F5 或調試 >“開始執行(不調試)”菜單 // 調試程式: F5 或調試 >“開始調試”菜單 // 入門使用技巧: // 1. 使用解決方案資源管理器視窗添加/管理文件 // 2. 使用團隊資源管理器視窗連接到源代碼管理 // 3. 使用輸出視窗查看生成輸出和其他消息 // 4. 使用錯誤列表視窗查看錯誤 // 5. 轉到“項目”>“添加新項”以創建新的代碼文件,或轉到“項目”>“添加現有項”以將現有代碼文件添加到項目 // 6. 將來,若要再次打開此項目,請轉到“文件”>“打開”>“項目”並選擇 .sln 文件