c 11 有沒有辦法在lambda的內部表示lambda自身?有的話是怎麼個寫法呢?

時間 2021-06-06 20:40:02

1樓:mewiteor

不動點組合子?c++11不支援auto型別的引數,所以我只會這麼寫:

#include

using namespace std;

int factorial(int t)

int main()

{ int n;

cin>>n;

cout<

2樓:小莊讀書

想不出怎麼在lambda內部表示自己,但回答用function的我覺得是混淆了function與lambda的區別:lambda是編譯器會幫你生成乙個過載了函式呼叫符的匿名類;function是可以封裝任何可呼叫的目標,然後通過function物件執行呼叫。所以,function可以封裝lambda,但不是說這兩個是乙個東西。

3樓:

可以用不動點組合子啊

#include

#include

using

namespace

std;

intmain

());};};

autoX=

T(T);

cout

<

autof)

returnx*

f(x-

1);};})(3)

<

;return0;

}不過我用了generic lambda...c++11估計不行, 你可以試試改成模板

4樓:

如果題主說的是遞迴呼叫自己的話,可以這樣寫:

function

int)

>f=[&](intx)

;cout

<

10)<<

endl

;用 function 包一下就好了。

C 11有了lambda後bind還有多大意義?

fe263 C 14已經廢棄bind了 不好意思,bind沒被廢棄.不過bind在C 14起沒什麼卵用了.我看到的唯一好用的地方是需要捕獲多個引數變成乙個無參呼叫的情況 template auto pack F f,T t return f std forward f args make tuple...

沒有籃筐有沒有辦法練習投籃?

日詹森 說個真事,寫過中學閱讀的人,尤其是打籃球的人應該不會忘記有篇閱讀講,你在腦海裡回憶罰球同樣可以提高水平。所以你只要抱著個籃球睡覺,晚上夢裡瘋狂投籃就行了。畢竟現在練好了投籃打球也只能在夢裡打是不 阿仁 說句實話,我感覺還真不太能。沒有籃筐的話,你可以先豎直將球往上拋,但是手型一定要正確,然後...

有沒有辦法排解憂慮?

您在遇到煩惱,憂慮的事情的時候可以想這些事情並不是永恆的,另外可以抱持這樣一種態度,一面地上有水,很滑,自己心裡就想摔就摔了吧,沒什麼大不了的,但是同時卻不掉以輕心,很小心的過去,反正什麼東西都是生不帶來,死不帶去的,某一樣東西有了,自己應該要珍惜,但不要怕失去,因為失去是必然的,早晚的問題,就算很...