Tag: functor
Die Bezeichnung ‚Funktor‘ hat zwei gemeinsame Bedeutungen:
1. Function-Objekt. In Objekt-orientierten Sprachen, es ist ein feature, mit dem Objekte verwendet werden, wie wenn Sie waren gewöhnliche Funktionen.
2. Eine mathematische Struktur, die sich mit Zuordnungen zwischen den Kategorien. Dieses Konzept ist eine nützliche Abstraktion, die in einigen Programmiersprachen, insbesondere Haskell, wo es implementiert ist als Typ Klasse.
3
Antworten
Ich würde gerne eine Funktion mit einem parameter akzeptiert entweder std::greater<int> oder std::less<int> als argument. Ich bin fest an der syntax für den parameter, wenn. Dies ist das format, das ich ausprobiert: myFunction(int a, int b, bool
1
Antworten
Kann mir jemand in einfachen Worten erklären Sie den Unterschied zwischen den beiden? Ich bin nicht ganz verstanden den Teil, wo die Monaden sind endofunctors versus nur funktoren. InformationsquelleAutor Jonathan Dunlap | 2012-04-26
2
Antworten
Fand ich, dass binary_function entfernt von C++11. Ich Frage mich, warum. C++98: template <class T> struct less : binary_function <T,T,bool> { bool operator() (const T& x, const T& y) const {return x<y;} }; C++11: template <class T>
1
Antworten
map :: (a -> b) -> [a] -> [b] fmap :: Functor f => (a -> b) -> f a -> f b liftM :: Monad m => (a -> b) -> m a -> m b
2
Antworten
Dieser code funktioniert: #include <iostream> #include <queue> #include <vector> #include <functional> using namespace std; int main(){ priority_queue<int,vector<int>,greater<int> > pq; pq.push(1); cout<<pq.top()<<endl; } Aber dieser code nicht kompilieren: #include <iostream> #include <queue> #include <vector> #include <functional> using namespace
2
Antworten
Möchte ich eine numerische integration Methode mit nimmt in eine analytische Funktion und integrieren Sie es über einem bestimmten Intervall. Für die numerischen Verfahren der integration möchte ich einige Verfahren im nr.com. Das problem ist, dass diese
5
Antworten
Ich nur Lesen jemand anrufen eine Klasse mit einem Konstruktor und eine operator() eine Prädikat: //Example class Foo { public: Foo(Bar); bool operator()(Baz); private: Bar bar; }; Aber ich habe nicht gehört, das Wort Prädikat in diesem
4
Antworten
Angenommen ich habe eine Methode def doSomething: String die erhöhen kann, ein DoSomethingException wenn etwas schief geht. Wenn ich Schreibe Try(doSomething), gibt es eine einfache Möglichkeit zum anzeigen der Ausnahme ohne Wiederherstellung es? Im Grunde, ich will
4
Antworten
Ich habe eine Klasse Foo, die in einer kleinen, eigenständigen Projekt. Es hat eine definition der Klasse Foo.h mit der Implementierung für die Klasse' Mitglied Funktionen in eine Implementierung-Datei Foo.cpp. Erste Frage, die man die member-Funktionen der
6
Antworten
Also wenn ich einen Vektor, der die Worte wie: Vec1 = "words", "words", "are", "fun", "fun" Ergebnisliste: "Spaß", "Worte" Ich versuche, um zu bestimmen, welche Wörter vorhanden sind, und eine alphabetisch sortierten Vektor 1 Kopie von Ihnen.
15
Antworten
Höre ich viel über funktoren in C++. Kann mir jemand einen überblick darüber, was Sie sind und in welchen Fällen würden Sie nützlich sein? Dieses Thema hat gewesen bedeckt in der Antwort auf diese Frage: stackoverflow.com/questions/317450/why-override-operator#317528 InformationsquelleAutor
7
Antworten
Vor kurzem habe ich entdeckt, dass in C++ können Sie die überlastung der "function call" - Betreibers, in einer seltsamen Art und Weise, in dem Sie haben zu schreiben, sind zwei paar Klammern zu tun: class A
5
Antworten
Während jemand erklären, was ein class-Typ X ist, ich kämpfen, um zu finden gute Beispiele für Datenstrukturen, die genau X. So, ich bitte Beispiele für: Eine Art Konstruktor, der nicht Funktor. Eine Art Konstruktor, der ist ein
6
Antworten
Ich habe gesehen, andere Leute Fragen, aber keine gefunden, die angewendet, um das, was ich versuche hier zu erreichen. Ich versuche, die Art von Entitäten über meine EntityManager-Klasse mit std::sort und ein std::vector<Entity *> /*Entity.h*/ class Entity
5
Antworten
Ich kann Einfach nicht scheinen zu wickeln meinem Kopf herum. Als ich verstehen, es ist dynamisch hinzufügen von Logik zu einer Klasse. Klassen im Rahmen der Vorbereitung für diese? Warum sollte ich einfach die Klasse erweitern und
2
Antworten
Ich bin ziemlich verwirren, wenn das Verhalten von map(). Ich habe ein array von Objekten, wie diesem : const products = [{ ..., 'productType' = 'premium', ... }, ...] und ich bin übergeben Sie dieses array an
4
Antworten
Habe ich eine stl::list mit Widget-Klasse-Objekte. Sie müssen sortiert werden nach zwei Mitglieder in der Widget-Klasse. Für die Sortierung zu arbeiten, eine weniger-als-Komparator vergleicht zwei Widget-Objekte müssen definiert werden. Es scheint eine Vielzahl von Möglichkeiten, es zu
2
Antworten
Hier ist ein code: #include <functional> using namespace std::tr1; typedef void(*fp)(void); void foo(void) { } void f(fp) { } int main() { function<void(void)> fun = foo; f(fun); //error f(foo); //ok } Ursprünglich die ich brauche, um eine
2
Antworten
Habe ich diesen code: #include <iostream> #include <functional> struct A { int operator()(int i) const { std::cout << "F: " << i << std::endl; return i + 1; } }; int main() { A a; std::tr1::function<int(int)> f
5
Antworten
betrachten Sie dieses einfache und sinnlosen code. #include <iostream> struct A { template<int N> void test() { std::cout << N << std::endl; } }; int main() { A a; a.test<1>(); } Es ist ein sehr einfaches Beispiel
1
Antworten
Dies ist ein follow-up dieses problem: Generische functor für Funktionen mit beliebiger Argumentliste Habe ich diese functor-Klasse (vollständigen code siehe link oben): template<typename... ARGS> class Foo { std::function<void(ARGS...)> m_f; public: Foo( std::function<void(ARGS...)> f ) : m_f(f) {}
5
Antworten
Sorry für ein wenig Anfänger-Frage. Es sind Vektor-und Vektor von Paaren typedef std::vector <int> TItems; typedef std::vector < std::pair <int, int> > TPairs; Gibt es eine Möglichkeit zu verwandeln, alle ersten Elemente, die in pair-Mädchen zu einem
4
Antworten
Kann mir jemand erklären, was ein Funktor ist, und geben Sie ein einfaches Beispiel? InformationsquelleAutor der Frage jlss4e | 2011-09-10
6
Antworten
Vor kurzem habe ich entdeckt, dass in C++ können Sie die überlastung der "function call" - Betreibers, in einer seltsamen Art und Weise, in dem Sie haben zu schreiben, sind zwei paar Klammern zu tun: class A
7
Antworten
Vergleichen double average = CalculateAverage(values.begin(), values.end()); mit double average = std::for_each(values.begin(), values.end(), CalculateAverage()); Was sind die Vorteile der Verwendung eines funktors über eine Funktion? Ist nicht die erste viel einfacher zu Lesen (noch vor der Umsetzung Hinzugefügt
5
Antworten
übergeben möchten, boost::bind an eine Methode erwartet ein schlichtes Funktions-Zeiger (gleiche Signatur). typedef void TriggerProc_type(Variable*,void*); void InitVariable(TriggerProc_type *proc); boost::function<void (Variable*, void*)> triggerProc ... InitVariable(triggerProc); error C2664: 'InitVariable' : cannot convert parameter 1 from 'boost::function<Signature>' to 'void (__cdecl
5
Antworten
F# ist abgeleitet von OCaml, ist aber was wichtige Elemente fehlen oder Hinzugefügt? Insbesondere bin ich gespannt, ob die verfügbaren Ressourcen für das lernen OCaml sind auch nützlich, um jemanden, der will, F# zu erlernen. InformationsquelleAutor der
5
Antworten
Während jemand erklären, was ein class-Typ X ist, ich kämpfen, um zu finden gute Beispiele für Datenstrukturen, die genau X. So, ich bitte Beispiele für: Eine Art Konstruktor, der nicht Funktor. Eine Art Konstruktor, der ist ein
11
Antworten
In der Boost - Bibliothek, Sie sind überladen des () - operators. Ist dies eine Konvention in C++? Für Rückrufe, etc.? Habe ich gesehen, das im code von einem Kollegen (der zufällig auch einen großen Schub fan).
11
Antworten
Dies ist nicht eine lambda-Funktion in Frage, ich weiß, dass ich zuordnen kann ein lambda-Ausdruck einer Variablen zu. Was ist der Punkt, der es uns ermöglicht zu deklarieren, aber nicht definieren eine Funktion innerhalb der code? Beispiel:
5
Antworten
Ich versuche zu lernen von Haskell, und ich bin durch alle die Grundlagen. Aber jetzt bin ich stecken, zu versuchen, meinen Kopf um funktoren. Habe ich gelesen, dass "Ein Funktor transformiert eine Kategorie in eine andere Kategorie".
10
Antworten
Ich versuche, verwenden Sie eine C-Bibliothek in ein C++ - app und habe selbst in der folgenden situation (ich kenn mich mit C, aber ich bin ziemlich neu in C++). Auf der C-Seite habe ich eine Sammlung
17
Antworten
Habe ich über die Bezeichnung 'Funktor' ein paar mal, während Sie Lesen verschiedene Artikel über die funktionale Programmierung, aber die Autoren in der Regel davon ausgehen, die Leser versteht schon den Begriff. Schaut sich um auf der
7
Antworten
Ich bin neu in Haskell, und ich bin beim Lesen über funktoren und applicative funktoren. Ok, ich verstehe, funktoren und wie ich Sie verwenden kann, aber ich verstehe nicht, warum applicative funktoren sind nützlich, und wie ich
15
Antworten
Höre ich viel über funktoren in C++. Kann mir jemand einen überblick darüber, was Sie sind und in welchen Fällen würden Sie nützlich sein? InformationsquelleAutor der Frage Konrad | 2008-12-10
6
Antworten
Ich bin auf der Suche für die Regelungen, die die Weitergabe von C++ - templates Funktionen als Argumente. Unterstützt wird dies durch die C++ - siehe ein Beispiel hier: #include <iostream> void add1(int &v) { v+=1; }