Domande taggate «templates»

Il tag dei modelli viene utilizzato in più contesti: programmazione generica (in particolare C ++) e generazione di dati / documenti mediante motori di modelli. Quando si utilizza questo tag per domande pesanti sull'implementazione, taggare il linguaggio del codice in cui è scritta l'implementazione.

5
Come verificare se esiste una variabile in un modello FreeMarker?
Ho un modello Freemarker che contiene un gruppo di segnaposto per i quali vengono forniti valori quando il modello viene elaborato. Voglio includere condizionalmente parte del modello se viene fornita la variabile userName, qualcosa del tipo: [#if_exists userName] Hi ${userName}, How are you? [/#if_exists] Tuttavia, il manuale di FreeMarker sembra …



7
std :: function vs template
Grazie a C ++ 11 abbiamo ricevuto la std::functionfamiglia di wrapper functor. Sfortunatamente, continuo a sentire solo cose negative su queste nuove aggiunte. Il più popolare è che sono orribilmente lenti. L'ho provato e fanno davvero schifo rispetto ai modelli. #include <iostream> #include <functional> #include <string> #include <chrono> template <typename …

14
Modelli C ++ che accettano solo determinati tipi
In Java puoi definire una classe generica che accetta solo tipi che estendono la classe di tua scelta, ad esempio: public class ObservableList<T extends List> { ... } Questo viene fatto usando la parola chiave "extends". Esiste un semplice equivalente a questa parola chiave in C ++?
159 c++  templates 

7
std :: enable_if per compilare condizionalmente una funzione membro
Sto cercando di ottenere un semplice esempio per capire come utilizzare std::enable_if. Dopo aver letto questa risposta , ho pensato che non sarebbe stato troppo difficile trovare un semplice esempio. Voglio usare std::enable_ifper scegliere tra due funzioni membro e consentire l'utilizzo solo di una di esse. Sfortunatamente, quanto segue non …
156 c++  templates  g++  c++11 

3
Quando usare std :: forward per inoltrare argomenti?
C ++ 0x mostra un esempio di utilizzo std::forward: template<class T> void foo(T&& arg) { bar(std::forward<T>(arg)); } Quando è vantaggioso da usare std::forward, sempre? Inoltre, deve essere utilizzato &&nella dichiarazione dei parametri, è valido in tutti i casi? Pensavo che dovessi passare dei provvisori a una funzione se la funzione …



4
Argomenti predefiniti del modello
Se mi è permesso fare quanto segue: template <typename T = int> class Foo{ }; Perché non mi è permesso fare quanto segue in linea di massima? Foo me; Ma devo specificare quanto segue: Foo<int> me; C ++ 11 ha introdotto argomenti di template predefiniti e in questo momento sono …
151 c++  templates 

2
Come funziona `void_t`
Ho visto il discorso di Walter Brown a Cppcon14 sulla programmazione di modelli moderni ( Parte I , Parte II ) in cui ha presentato la sua void_ttecnica SFINAE. Esempio: dato un semplice modello variabile che valuta voidse tutti gli argomenti del modello sono ben formati: template< class ... > …
149 c++  templates  c++14  sfinae 

3
Inizializzazione di membri statici in un modello di classe
Mi piacerebbe fare questo: template <typename T> struct S { ... static double something_relevant = 1.5; }; ma non posso dato che something_relevantnon è di tipo integrale. Non dipende da T, ma il codice esistente dipende dal fatto che è un membro statico di S. Poiché S è un modello, …
148 c++  templates  static 


10
Come emulare l'inizializzazione dell'array C comportamento “int arr [] = {e1, e2, e3, ...}” con std :: array?
(Nota: questa domanda riguarda il non dover specificare il numero di elementi e consentire comunque l'inizializzazione diretta dei tipi nidificati.) Questa domanda discute gli usi rimasti per un array C come int arr[20];. Sulla sua risposta , @James Kanze mostra una delle ultime roccaforti degli array C, le sue caratteristiche …


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.