問題タブ [generic-lambda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
64 参照

c++ - ネストされたラムダ式を理解する

私の質問は、ラムダ式の下に例として示されている、次のネストされたラムダ式に関するものです。

以下は、上記の式を解釈する方法です。

式では

クロージャ オブジェクトは、型がラムダ式に対応するvglambdaクロージャ オブジェクトで初期化されますprinter

内部printerでは、ネストされた (匿名の) ラムダ式

コピーによるキャプチャーprinterとそのパラメーターパックをrvalue参考に。

(無名) ラムダ式の本体内で、式

パラメータパックを[基本的にusingprinterの呼び出しのように見える]に転送しますprinteroperator ()

(匿名) ラムダ式の本体内の最後の式では、(匿名) nullary ラムダ式がprinter、パラメーター パックと共に、コピーによって外側のスコープからクロージャー オブジェクトをキャプチャするように見えprinter、転送されたパラメーターを使用してクロージャー オブジェクトを呼び出します。パック。

今、私がここで何かを得ていないことは非常に明白です. 本質的に、printerクロージャー オブジェクトを呼び出す 2 つの異なる行が (匿名の) ラムダ式の本体内に提供されているのはなぜですか?

専門家の誰かがもっと光を当てることができますか?

0 投票する
2 に答える
389 参照

c++ - ラムダの戻り値の型を推測する方法は?

map()RubyのメソッドをC++で真似したい。戻り値の型を自動的に把握するのに苦労しています:

このようにコンパイルされますが、T2に固定されていstringます。他のT2定義を使用すると、コンパイラは文句を言いcouldn't deduce template parameter 'T2'ます。も使用しようとしましstd::declvalたが、おそらく正しい方法ではありません。問題を解決できませんでした。