問題タブ [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 投票する
5 に答える
1050 参照

c++ - C++ での for_each の使用法

基本的に、私は各Abstractオブジェクトのデストラクタを呼び出そうとしていm_abs_listます. forこれは、ループによって簡単に実現できます。しかし、私はfor_eachこの文脈で使用しようとしています。

コンパイル時にエラーが発生します:

コンパイルエラーを回避するにはどうすればよいですか?

0 投票する
3 に答える
6292 参照

javascript - JavaScript クラスは Function クラスから継承します

私はJavaScriptで関数を作成し、その関数にさらにメソッドと属性を追加できるのが好きです

これらのオブジェクトを生成するクラスを作成したいと思います。Function 基底クラスから継承する必要があると思います。

言い換えれば、私はしたい:

しかし、myFunctionClass の作成方法がわかりません。次のことを試しましたが、うまくいきません。

ここにあるより複雑な(そしてより適切な?)継承方法も試しました:How to "properly" create a custom object in JavaScript? 、もう運がありません。また、node.js にある util.inherits(myFunctionClass, Function) を使用してみました。まだ運がない

私は Google を使い果たしたので、基本的または明白な何かが欠けているに違いないと感じています。助けていただければ幸いです。

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

c++ - 関数ポインタをboost::functionオブジェクトにバインドします

boost::function生の関数ポインタでオブジェクト を初期化するにはどうすればよいですか?

メタコード

..。

追加情報が必要な場合は、私に知らせてください。

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

c++ - オーバーロード演算子()

私はこの宣言を持っています

構造体宣言を変更して、No。3の呼び出しが成功するようにする方法はありますか?

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

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

関数オブジェクトをクラスに渡したかったのですが、クラスは関数オブジェクトを使用してクラス内で何らかのジョブを実行します。

しかし、問題は、関数オブジェクトが渡されるものがわからないことです。したがってvoid *、クラスでポインターを定義すると、このポインターは、渡される関数オブジェクトで初期化されることがわかりました。

コードは以下のとおりです。

しかし、コードは機能しません。私は、void *functorそのように使用することはできません。

私は仕事を終えるために使うことができることを知っていますtemplate class、しかし私の質問は、私はまだ仕事を使うことができpointer to function objectますか、そしてどのようにですか?

PS

問題を明確にするために、データの処理方法が異なる関数オブジェクトがいくつかある可能性があります。どの関数オブジェクトが渡されるかはわかりませんが、それぞれがintパラメーターを受け取ることはわかっています。

いくつかの答えが示すように、私はを介して仕事をすることができますfunction pointerが、関数オブジェクトには、などの関数ポインターよりも多くのユーティリティがstatesあり、それを使用します。

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

c++ - インスタンス化せずに関数オブジェクトを使用できますか?

次のコードを持っている:

この呼び出しは誤りです:

エラーメッセージ:

この呼び出しは誤りではありません:

インスタンス化せずに関数オブジェクトを使用できますか?部分的な特殊化機能が必要なため、ここではテンプレート関数を使用できません。

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

c++ - STL機能-なぜですか?

C ++標準テンプレートライブラリには、多くのクラスが()演算子をオーバーロードしている「機能」部分があります。

C ++で関数をオブジェクトとして使用するのに便利ですか?

代わりに関数ポインタを使用できないのはなぜですか?例はありますか?

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

python - 文字列のメソッド呼び出しを表すドロップダウンボックス

ユーザーがメソッドを選択して、特定の文字列が別の文字列と等しいか終了するかを確認できるドロップダウンボックスがあります。

ドロップダウンボックスモデルとして関数ポインタ/オブジェクトを使用し、現在選択されているものを呼び出すと思いますが、メソッドは

  1. 文字列メソッドと
  2. 等しいは存在しません

また、列名のメソッドを次のように呼び出す必要がある場合、Pythonでこれにどのようにアプローチするのが最善column.name.[selectedMethod](variableStringFromTextBox)ですか?

(これは、GUIで「列名[等しいまたは終了する]でXYZを使用する」+変数文字列を含むテキストボックスを読み取るオプションです。)

ありがとう

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

c++ - std::functionにキャストされた関数オブジェクトの状態を取得します

関数オブジェクトから状態を取得したい。ただし、関数オブジェクトはfunction<>テンプレートにキャストされています。どうすればいいですか?

つまり:

関数オブジェクト:

主に。私の最初のステップは、オブジェクトを直接使用することです。

そのショー:

コンストラクタ(a)と呼ばれる

10

11

カウンター:12

それは大丈夫です、そしてそれは私が期待したものです。

しかし、

それが示している

コンストラクタ(a)と呼ばれる

10

11

カウンター:10

ああ!、fは実際のオブジェクトのラッパーだと思ったので、変更するfと実際に変更されbます。いいえ:fのコピーがありますがb、呼び出すことができません。f.getCounter()どのようにしてState(counter_ var)を取得できfますか?

Counter同じシグネチャ「void(int)」を持つ他の同様のクラスがいくつかあるため、(この例では)クラスを直接使用することはできません。また、呼び出し元の関数でそれらを不明瞭に使用したいと思います。

すべての関数オブジェクトに共通の基本クラスを使用してテンプレートを完全に回避することはできstd::functionますが、STLとテンプレートを使用したC++11のソリューションがもっとあると思います...

それで、その解決策はありますか?

ありがとう

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

c++ - classname()はクラスオブジェクトと同等ですか?

これはばかげた質問かもしれませんが、適切に説明する方法がわかりません。std::transformたとえば、関数を呼び出そうとすると、

書いUnaryOperator op;てから電話するかもしれませんtransform(..,..,.., op);

しかし私はまた人々がちょうど書くのを見ますtransform(..,..,..,UnaryOperator());

私の質問は:それclassname()はクラスオブジェクトと同等であるというのは本当ですか?