問題タブ [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.
c++ - C++ での for_each の使用法
基本的に、私は各Abstract
オブジェクトのデストラクタを呼び出そうとしていm_abs_list
ます. for
これは、ループによって簡単に実現できます。しかし、私はfor_each
この文脈で使用しようとしています。
コンパイル時にエラーが発生します:
コンパイルエラーを回避するにはどうすればよいですか?
javascript - JavaScript クラスは Function クラスから継承します
私はJavaScriptで関数を作成し、その関数にさらにメソッドと属性を追加できるのが好きです
これらのオブジェクトを生成するクラスを作成したいと思います。Function 基底クラスから継承する必要があると思います。
言い換えれば、私はしたい:
しかし、myFunctionClass の作成方法がわかりません。次のことを試しましたが、うまくいきません。
ここにあるより複雑な(そしてより適切な?)継承方法も試しました:How to "properly" create a custom object in JavaScript? 、もう運がありません。また、node.js にある util.inherits(myFunctionClass, Function) を使用してみました。まだ運がない
私は Google を使い果たしたので、基本的または明白な何かが欠けているに違いないと感じています。助けていただければ幸いです。
c++ - 関数ポインタをboost::functionオブジェクトにバインドします
boost::function
生の関数ポインタでオブジェクト を初期化するにはどうすればよいですか?
メタコード
..。
追加情報が必要な場合は、私に知らせてください。
c++ - オーバーロード演算子()
私はこの宣言を持っています
構造体宣言を変更して、No。3の呼び出しが成功するようにする方法はありますか?
c++ - C++の関数オブジェクトへのポインタ
関数オブジェクトをクラスに渡したかったのですが、クラスは関数オブジェクトを使用してクラス内で何らかのジョブを実行します。
しかし、問題は、関数オブジェクトが渡されるものがわからないことです。したがってvoid *
、クラスでポインターを定義すると、このポインターは、渡される関数オブジェクトで初期化されることがわかりました。
コードは以下のとおりです。
しかし、コードは機能しません。私は、void *functor
そのように使用することはできません。
私は仕事を終えるために使うことができることを知っていますtemplate class
、しかし私の質問は、私はまだ仕事を使うことができpointer to function object
ますか、そしてどのようにですか?
PS
問題を明確にするために、データの処理方法が異なる関数オブジェクトがいくつかある可能性があります。どの関数オブジェクトが渡されるかはわかりませんが、それぞれがint
パラメーターを受け取ることはわかっています。
いくつかの答えが示すように、私はを介して仕事をすることができますfunction pointer
が、関数オブジェクトには、などの関数ポインターよりも多くのユーティリティがstates
あり、それを使用します。
c++ - インスタンス化せずに関数オブジェクトを使用できますか?
次のコードを持っている:
この呼び出しは誤りです:
エラーメッセージ:
この呼び出しは誤りではありません:
インスタンス化せずに関数オブジェクトを使用できますか?部分的な特殊化機能が必要なため、ここではテンプレート関数を使用できません。
c++ - STL機能-なぜですか?
C ++標準テンプレートライブラリには、多くのクラスが()
演算子をオーバーロードしている「機能」部分があります。
C ++で関数をオブジェクトとして使用するのに便利ですか?
代わりに関数ポインタを使用できないのはなぜですか?例はありますか?
python - 文字列のメソッド呼び出しを表すドロップダウンボックス
ユーザーがメソッドを選択して、特定の文字列が別の文字列と等しいか終了するかを確認できるドロップダウンボックスがあります。
ドロップダウンボックスモデルとして関数ポインタ/オブジェクトを使用し、現在選択されているものを呼び出すと思いますが、メソッドは
- 文字列メソッドと
- 等しいは存在しません
また、列名のメソッドを次のように呼び出す必要がある場合、Pythonでこれにどのようにアプローチするのが最善column.name.[selectedMethod](variableStringFromTextBox)
ですか?
(これは、GUIで「列名[等しいまたは終了する]でXYZを使用する」+変数文字列を含むテキストボックスを読み取るオプションです。)
ありがとう
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のソリューションがもっとあると思います...
それで、その解決策はありますか?
ありがとう
c++ - classname()はクラスオブジェクトと同等ですか?
これはばかげた質問かもしれませんが、適切に説明する方法がわかりません。std::transform
たとえば、関数を呼び出そうとすると、
書いUnaryOperator op;
てから電話するかもしれませんtransform(..,..,.., op);
しかし私はまた人々がちょうど書くのを見ますtransform(..,..,..,UnaryOperator());
私の質問は:それclassname()
はクラスオブジェクトと同等であるというのは本当ですか?