Tag: std-function

C++11 class-Vorlage, die aufrufbar ist wie eine Funktion, und wickelt anderen callable-Typ und leitet Anrufe an.

Holen Sie sich die Namen ein std::function

Anzahl der Antworten 6 Antworten
In der folgenden toy-Beispiel, würde ich mag, um den Namen einer Funktion. Die Funktion selbst wurde als std::function argument. Ist es möglich in C++ zu erhalten Namen von einer std::function Objekt? void printName(std::function<void()> func){ //Need a function

C++ Wie auf Vorgefertigte Funktionen, die mit std::bind / std::function

Anzahl der Antworten 4 Antworten
Wenn Sie eine vorgefertigte Klasse oder eine Vorlagen-Funktion (oder Kombination aus beiden), wie binden Sie diese Funktion, (die Erhaltung der template-parameter type)? Bekam ich etwas Hilfe, um die grundlegende syntax in einem post weiter unten zu binden,

C++ - lambda-capture mit dieser vs capture by reference

Anzahl der Antworten 3 Antworten
Wenn ich brauche, um zu erzeugen ein lambda-Ausdruck, der fordert, eine member-Funktion, sollte ich erfassen, durch einen Verweis oder capture 'das'? Mein Verständnis ist, dass '&' erfasst nur die Variablen verwendet, aber 'dies' erfasst alle member-Variablen. Also

std::function und std::bind: was sind Sie, und Wann sollte Sie eingesetzt werden?

Anzahl der Antworten 4 Antworten
Ich weiß, was funktoren sind und Wann Sie zu verwenden mit std algorithmen, aber ich habe nicht verstanden, was Stroustrup über Sie sagt in der C++11-FAQ. Kann mir jemand erklären, was std::bind und std::function sind, wenn Sie

std::Funktion nicht zu unterscheiden, überladene Funktionen

Anzahl der Antworten 5 Antworten
Ich versuche zu verstehen, warum std::function ist nicht in der Lage zu unterscheiden zwischen überladenen Funktionen. #include <functional> void add(int,int){} class A {}; void add (A, A){} int main(){ std::function <void(int, int)> func = add; } Im

Verwendung und syntax von std::function

Anzahl der Antworten 2 Antworten
ist es notwendig, zu mir zu verwenden std::function aber ich weiß nicht, was ist std::function<void()> f_name = () { FNAME(); }; syntax bedeutet. Was ist das Ziel der Verwendung von std::function? Ist es ein Zeiger auf eine

Wie direkt zu binden, eine member-Funktion, um ein std::function in Visual Studio 11?

Anzahl der Antworten 4 Antworten
Kann ich leicht binden von member-Funktionen zu einem std::function durch das einwickeln von Ihnen mit einem lambda-Ausdruck mit capture-Klausel. class Class { Class() { Register([=](int n){ Function(n); }); } void Register(std::function<void(int)> Callback) { } void Function(int Number)

C++ - Funktion Typen

Anzahl der Antworten 2 Antworten
Ich habe ein problem, das Verständnis, Funktion, Arten (Sie werden z.B. als Signature template-parameter eines std::function): typedef int Signature(int); //the signature in question typedef std::function<int(int)> std_fun_1; typedef std::function<Signature> std_fun_2; static_assert(std::is_same<std_fun_1, std_fun_2>::value, "They are the same, cool."); int

Mit 'void' template-Argumente in C++

Anzahl der Antworten 5 Antworten
Nehmen Sie die folgenden minimal-Beispiel: using Type1 = std::function<void(void)>; template <typename T> using Type2 = std::function<void(T)>; Type1 whyDoesThisWork; Type2<void> andYetThisDoesNot; Wenn der zweite Typ alias, bekomme ich die Fehlermeldung "Argument kann nicht 'void' - Typ". (Getestet habe

Warum std::function-Instanzen haben einen default-Konstruktor?

Anzahl der Antworten 7 Antworten
Dies ist wahrscheinlich eine philosophische Frage, aber ich lief in das folgende problem: Wenn Sie definieren ein std::function, und Sie nicht initialisiert korrekt, Ihre Anwendung zum Absturz bringen, wie diese: typedef std::function<void(void)> MyFunctionType; MyFunctionType myFunction; myFunction(); Werden,

Wie überprüft man richtig, ob std :: function in C ++ 11 leer ist?

Anzahl der Antworten 2 Antworten
Ich Frage mich, wie man richtig überprüfen, ob ein std::function leer ist. Betrachten Sie dieses Beispiel: class Test { std::function<void(int a)> eventFunc; void registerEvent(std::function<void(int a)> e) { eventFunc = e; } void doSomething() { ... eventFunc(42); }

Lambda eines Lambda: Die Funktion wird nicht erfasst

Anzahl der Antworten 2 Antworten
Dem folgenden Programm nicht kompilieren : #include <iostream> #include <vector> #include <functional> #include <algorithm> #include <cstdlib> #include <cmath> void asort(std::vector<double>& v, std::function<bool(double, double)> f) { std::sort(v.begin(), v.end(), (double a, double b){return f(std::abs(a), std::abs(b));}); } int main() {

C ++ 11 Std :: Lambda-Vergleichsfunktion einstellen

Anzahl der Antworten 6 Antworten
Ich möchte erstellen Sie eine std::set mit einer benutzerdefinierten Vergleichsfunktion. Ich könnte es definieren als eine Klasse mit operator()aber ich wollte genießen die Möglichkeit der Definition eines lambda-wo es verwendet wird, also habe ich beschlossen zu definieren,

Vergleichen std :: Funktionen für die Gleichheit?

Anzahl der Antworten 5 Antworten
Wie Vergleiche ich zwei C++11 std::functions mit operator== und zurück true wenn beide, sagte functions beziehen sich auf die gleiche Funktion Zeiger? InformationsquelleAutor der Frage JesseTG | 2013-12-30

Std :: Funktion vs Vorlage

Anzahl der Antworten 7 Antworten
Dank C++11 erhalten wir die std::function Familie der Funktor-Wrapper. Leider höre ich nur schlechte Sachen über diese neuen Ergänzungen. Die beliebteste ist, dass Sie schrecklich langsam. Habe es getestet und Sie wirklich saugen im Vergleich mit Vorlagen.

Soll ich eine std :: -Funktion kopieren oder kann ich immer einen Bezug darauf nehmen?

Anzahl der Antworten 5 Antworten
In meiner C++ Anwendung (Visual Studio 2010 verwenden), brauche ich zum speichern einer std::function, wie diese: class MyClass { public: typedef std::function<int(int)> MyFunction; MyClass (Myfunction &myFunction); private: MyFunction m_myFunction; //Should I use this one? MyFunction &m_myFunction; //Or