Als «templates» getaggte Fragen

Das Templates-Tag wird in mehreren Kontexten verwendet: generische Programmierung (insbesondere C ++) und Daten- / Dokumentgenerierung mithilfe von Template-Engines. Wenn Sie dieses Tag für umfangreiche Fragen zur Implementierung verwenden, markieren Sie die Codesprache, in der die Implementierung geschrieben ist.

6
Angularjs Template Standardwert bei Bindung Null / Undefiniert (mit Filter)
Ich habe eine Vorlagenbindung, die ein Modellattribut namens "Datum" anzeigt, bei dem es sich um ein Datum handelt, das den Datumsfilter von Angular verwendet. <span class="gallery-date">{{gallery.date | date:'mediumDate'}}</span> So weit, ist es gut. Wenn im Datumsfeld jedoch kein Wert vorhanden ist, zeigt die Bindung nichts an. Ich möchte jedoch, dass …

5
Wie überprüfe ich, ob eine Variable in einer FreeMarker-Vorlage vorhanden ist?
Ich habe eine Freemarker-Vorlage, die eine Reihe von Platzhaltern enthält, für die Werte angegeben werden, wenn die Vorlage verarbeitet wird. Ich möchte einen Teil der Vorlage bedingt einschließen, wenn die Variable userName angegeben wird, etwa: [#if_exists userName] Hi ${userName}, How are you? [/#if_exists] Das FreeMarker-Handbuch scheint jedoch darauf hinzuweisen, dass …

3
Warum sollte ich std :: enable_if in Funktionssignaturen vermeiden?
Scott Meyers veröffentlichte Inhalt und Status seines nächsten Buches EC ++ 11. Er schrieb, dass ein Punkt im Buch "Vermeiden Sie std::enable_ifin Funktionssignaturen" sein könnte . std::enable_if kann als Funktionsargument, als Rückgabetyp oder als Klassenvorlage oder Funktionsvorlagenparameter verwendet werden, um Funktionen oder Klassen bedingt aus der Überlastungsauflösung zu entfernen. In …


7
std :: function vs template
Dank C ++ 11 haben wir die std::functionFamilie der Funktor-Wrapper erhalten. Leider höre ich immer wieder nur schlechte Dinge über diese Neuzugänge. Am beliebtesten ist, dass sie schrecklich langsam sind. Ich habe es getestet und sie saugen wirklich im Vergleich zu Vorlagen. #include <iostream> #include <functional> #include <string> #include <chrono> …

14
C ++ - Vorlagen, die nur bestimmte Typen akzeptieren
In Java können Sie generische Klassen definieren, die nur Typen akzeptieren, die die Klasse Ihrer Wahl erweitern, z. public class ObservableList<T extends List> { ... } Dies erfolgt mit dem Schlüsselwort "erweitert". Gibt es ein einfaches Äquivalent zu diesem Schlüsselwort in C ++?
158 c++  templates 

7
std :: enable_if zum bedingten Kompilieren einer Mitgliedsfunktion
Ich versuche, ein einfaches Beispiel zum Arbeiten zu bringen, um zu verstehen, wie man es benutzt std::enable_if. Nachdem ich diese Antwort gelesen hatte , dachte ich, es sollte nicht zu schwierig sein, ein einfaches Beispiel zu finden. Ich möchte verwenden std::enable_if, um zwischen zwei Elementfunktionen zu wählen und nur eine …
156 c++  templates  g++  c++11 

3
Wann sollte std :: forward verwendet werden, um Argumente weiterzuleiten?
C ++ 0x zeigt ein Beispiel für die Verwendung von std::forward: template<class T> void foo(T&& arg) { bar(std::forward<T>(arg)); } Wann ist es immer vorteilhaft zu verwenden std::forward? Außerdem muss es &&in der Parameterdeklaration verwendet werden. Ist es in allen Fällen gültig? Ich dachte, Sie &&müssten temporäre Funktionen an eine Funktion …



4
Standardargumente für Vorlagen
Wenn ich Folgendes tun darf: template <typename T = int> class Foo{ }; Warum darf ich hauptsächlich nicht folgendes tun? Foo me; Aber ich muss folgendes angeben: Foo<int> me; In C ++ 11 wurden Standardvorlagenargumente eingeführt, die meines Erachtens derzeit nur schwer zu verstehen sind.
150 c++  templates 

2
Wie funktioniert `void_t`?
Ich habe Walter Browns Vortrag auf der Cppcon14 über moderne Vorlagenprogrammierung ( Teil I , Teil II ) gesehen, in dem er seine void_tSFINAE-Technik vorstellte. Beispiel: Bei einer einfachen Variablenvorlage, die bewertet, voidob alle Vorlagenargumente gut geformt sind: template< class ... > using void_t = void; und das folgende Merkmal, …
148 c++  templates  c++14  sfinae 

3
Statische Elementinitialisierung in einer Klassenvorlage
Ich würde das gerne machen: template <typename T> struct S { ... static double something_relevant = 1.5; }; aber ich kann nicht, da something_relevantes nicht vom integralen Typ ist. Es hängt nicht davon ab T, aber vorhandener Code hängt davon ab, dass er ein statisches Mitglied von ist S. Da …
148 c++  templates  static 


10
Wie emuliert man das C-Array-Initialisierungsverhalten „int arr [] = {e1, e2, e3,…}“ mit std :: array?
(Hinweis: Bei dieser Frage geht es darum, die Anzahl der Elemente nicht angeben zu müssen und dennoch zu ermöglichen, dass verschachtelte Typen direkt initialisiert werden.) In dieser Frage werden die Verwendungszwecke für ein C-Array wie erläutert int arr[20];. In seiner Antwort zeigt @James Kanze eine der letzten Hochburgen von C-Arrays, …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.