問題タブ [function-object]

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 投票する
2 に答える
144 参照

c++ - C++11: ソース内のラムダを関数オブジェクトに変換する

ラムダをサポートしていない古いコンパイラでビルドする必要がある C++11 コードのライブラリがあります。すべてのラムダを手作りの関数オブジェクトに手動で変更するのは現実的ではありません。

すべてのラムダを同等の関数クラスに自動的に抽出する、コンパイル前のステップとして実行できるツールを知っている人はいますか? おそらくclangのフロントエンドを使用できるかどうか疑問に思っていました。

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

c++ - ソートとマップをカスタマイズするとき、関数ポインタまたは関数オブジェクトを優先しますか?

C++でソートテンプレートとマップテンプレートをカスタマイズしたい

比較対象はこちら、

私のテストの後、Greater1 はマップで機能し、Greater2 はソートで機能します。また、CPLUSPLUS からいくつかの情報を取得したところ、 と map の両方が関数ポインターと関数オブジェクトの両方を使用する必要があることがわかりました。私の質問は、Greater2 がマップで機能し、Greater1 がソートで機能する理由です。

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

matlab - Matlab は関数オブジェクトをサポートしていますか?

Matlab スクリプトで使用する関数オブジェクト プログラミング手法にアクセスできるかどうかを調べようとしています。これは、 .NET の Func 型Python の関数オブジェクトに似ています。Matlabは関数にファーストクラスのオブジェクトステータスを与えますか?

0 投票する
0 に答える
62 参照

c++ - バインドされていない関数オブジェクトを使用して関数オブジェクトをインスタンス化すると、左辺値エラーが発生する

次の関数オブジェクトがあります。

次のように Wrapper オブジェクトをインスタンス化しようとすると:

私は得る

「エラー: 'const DOTf' (別名 'const DOTWrapper') の初期化に一致するコンストラクターがありません const DOTf dotf((NConv()), (LConv()));」

何故ですか?結局、NConv と LConv はメモリ内に場所があります...だから...それらは左辺値であるべきではありませんか?

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

c++ - 関数ポインタへの関数オブジェクトの変換

関数オブジェクトを関数ポインタに変換する方法を探しています。キャプチャレス ラムダには、次のことを可能にする暗黙的な変換があります。

私は次のような昔ながらの空のクラス関数オブジェクトで同じことをしようとしています:

またはstd::less<int>.

私が見つけた 1 つの方法は、呼び出しfooをラムダでラップすることです。それがステートレスで const であることを保証できれば、このptr と lambda-capturefooは本当に必要ありません。

しかし、ここでは、完全な転送を提供する方法がわかりません。原因[](Args&&...)または[](auto&&...)変換できませんR(*)(Args...)。args が のようにコピーできない場合、このようなトリックは失敗しますstd::unique_ptr<int>

を使用できることはわかっていますstd::functionが、軽量のソリューションを取得しようとしている間、それは一種の重量です。

実例

アドバイスをいただければ幸いです。

0 投票する
4 に答える
54 参照

javascript - new Function() を使用して文字列をオブジェクトに変換します - これはどのように機能しますか?

JSON.parse で文字列をオブジェクトに変換できませんでした。問題を解決するこのコードを見つけましたが、それがどのように機能するのかわかりません。誰かが (JavaScript の初心者に) 3 行目で何が起こっているのかを説明できれば幸いです。ありがとうございました。

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

c++ - テンプレート パラメーターとしての関数オブジェクト

これは、Essential c++ の例です。Comp明らかに関数オブジェクトのクラス名です。Comp(val, _val)を直接使用できるのはなぜですか? 通常は、最初に次のような関数オブジェクトを定義する必要があると思います: 、次にnotComp compを呼び出します。compComp