sfinae

Substitutionsfehler ist kein Fehler. Dies ist eine C ++ - Programmiertechnik, mit der Vorlagen Eigenschaften ihrer Template-Parameter verifizieren können, so dass verschiedene Spezialisierungen verwendet werden können, wenn bestimmte Arten von Objekten verfügbar sind.
3
Antworten

SFINAE: 'static_castvoid ()' oder ', void ()'?

Wenn SFINAE für einen beliebigen Typ ausgeführt wird, muss das Ergebnis eines Ausdrucks oft in void umgewandelt werden. Ich habe zwei Möglichkeiten gesehen, dies zu tun; eine Besetzung zu void: %Vor% Oder alternativ den Kommaoperator mit...
03.03.2015, 16:48
1
Antwort

Leere Packungen von Enums - machen sie zwei verschiedene Funktionen?

Es gibt eine Technik, die ich manchmal beim Überschreiben von template -Funktionen verwende, die folgendermaßen aussieht: %Vor% Dies unterscheidet do_stuff von do_stuff , weil einer 0 oder mehr UniqueEnum<1> s und der andere...
14.06.2013, 19:41
1
Antwort

SFINAE: erkennt die Existenz einer Template-Funktion, die eine explizite Spezialisierung erfordert

Als Follow-up zu meine vorherige Frage , versuche ich die Existenz einer Template-Funktion zu erkennen, die eine explizite Spezialisierung erfordert. Mein aktueller Arbeitscode erkennt Nicht-Template-Funktionen (dank der Hilfe von DyP), vora...
21.09.2013, 18:45
5
Antworten

boost :: enable_if nicht in der Funktionssignatur

Das ist nur eine Frage zum Stil: Ich mag die Art und Weise von C ++ für die Template-Metaprogrammierung nicht, die erfordert, dass Sie den Rückgabetyp verwenden oder ein zusätzliches Dummy-Argument für die Tricks mit SFINAE hinzufügen. Also, die...
05.01.2012, 13:17
5
Antworten

SFINAE Compiler Probleme

Der folgende Code von mir sollte erkennen, ob T begin und end Methoden hat: %Vor% Und hier ist ein Testcode: %Vor% In g ++ 4.5.1 lautet die Ausgabe 1 1 1 1 . In Visual Studio 2008 lautet die Ausgabe jedoch 1 1 0 0 . Habe ich...
03.12.2010, 17:00