functor

    6

    2答えて

    次のようなタイプの必要性は何か、それはすでにJavaのに内蔵されなければならないなどのようにユビキタスになりそうです: public interface Executer<T> { void execute(T object); } それは、その後の束を呼び出します。この簡単な例のように、他のクラスで使用することができますオブジェクトの実行者の class Handler<T> i

    6

    1答えて

    WindowsからLinuxに私のファンクタを移植する際に問題が発生しました。 (ファンクタは、STLに渡す::厳密-弱い順序付けのためのマップ) 原は、以下の通りである: struct stringCompare{ bool operator() (string lhs, string rhs){ // Returns true if lhs < rhs if(strcas

    15

    5答えて

    少し初心者ご質問に申し訳ありません。ベクトルとペアのベクトルがあります typedef std::vector <int> TItems; typedef std::vector < std::pair <int, int> > TPairs; はどのようにファンクタを設計するために一歩 int main() { TItems items; TPairs pairs; pairs.

    15

    2答えて

    モナスは、理論的には、それがHaskellの型システムには示されていないにもかかわらず、理論的にはファンクタのサブセットであり、具体的には適用可能なファンクタであることが知られている。どのように、モナド与えられた、ことを知り、returnとbindに基づか : 、fmapを導出 は<*>を導き出しますか?

    3

    2答えて

    は、私は次のテンプレート機能を持って言うように複雑な関数を渡すと、バリアント: template <class T> void apply(const vector<complex<T> >& in, vector<T>& out, T (*f)(complex<T>)) { out.resize(in.size()); for(size_t i = 0; i < in.s

    2

    2答えて

    私はここでスレッドの上に構築しようとしていました:Variable length template arguments list? デフォルトのFunctorクラスを持っているのは学問的なことです。私の目標は、クラス名、メソッド名、(可変長の)引数型があれば、テンプレートargsで指定された型の可変数の引数を取るoperator()メソッドを持つクラスを構築し、ポインタをとり、与えられたメソッドを

    1

    1答えて

    functorの実装をstd::tr1::functionに変換しています(私の実装では、関数型ごとに型とファンクタのクラスをあらかじめ定義する必要があります、私はこれをどんな関数でも動作させるために拡張したい)。 私は int param = 1; std::tr1::bind (&MyClass::func, param); 持っていると私はいくつかの共通のコンテナ someContai

    0

    1答えて

    私はこのようなファンクタを持っている場合は... class DoStuff { private: std::vector <int> numericStuff; public: explicit DoStuff (const std::vector <int> &newStuff) : numericStuff (newStuff) {};

    12

    4答えて

    OCaml(3.12.1)のモジュール言語を実験しています。モジュールのファンクタとシグネチャを定義しています。ほとんどの例はChapter 2 of the OCaml manualです。私は偶然、つまずきました。明らかに、ファンクターとモジュール署名がどのように機能するかに関する私の精神的モデルには欠陥があります。最短のコードで遭遇した状況を絞り込もうとしました。私が達成しようとしていることを

    0

    2答えて

    C++では、ローカル関数またはファンクタをグローバル関数に渡すことは全く不可能ですか?すべての記号が「いいえ」を指しているようです。これは積分器のような簡単な数学関数の実装を解決する最も簡単な方法のようです: template<class integrand> void integrate(integrand f) { ... f(); ... } int m