Sommario:
Definizione - Cosa significa Template?
Un modello è una funzionalità di programmazione C ++ che consente operazioni di classe e funzione con tipi generici, che consente la funzionalità con tipi di dati diversi senza riscrivere interi blocchi di codice per ciascun tipo.
I modelli sono un'utilità preziosa in C ++, specialmente se utilizzati con sovraccarico dell'operatore e ereditarietà multipla. I modelli riducono lo sforzo associato alla codifica di diversi tipi di dati in un singolo set di codice e riducono gli sforzi di debug.
Techopedia spiega il modello
C ++ fornisce i seguenti due tipi di modelli utilizzati per implementare costrutti generali, come elenchi, code, vettori e stack:
- Modello di classe: assomiglia a una normale definizione di classe ma è preceduto dal seguente: modello
, seguito dalla dichiarazione del corpo della classe, inclusi i dati e le funzioni dei membri. Le dichiarazioni e le definizioni delle funzioni dei membri del modello di classe si trovano nello stesso file di intestazione. I modelli di classe C ++ sono più adatti alle classi di container. - Modello di funzione: implementato attraverso i parametri del modello, che è un tipo di parametro speciale utilizzato per passare un tipo come argomento di funzione. Pertanto, la funzionalità può essere adattata a più di un tipo o classe senza ripetere l'intero codice. Il formato per dichiarare un modello di funzione con un parametro di tipo è uno dei due modelli
dichiarazione_funzione o modello function_declaration. Non vi è alcuna differenza tra le parole chiave class e typename.
Il codice generato dal modello può essere sostituito fornendo definizioni speciali per tipi specifici, noto come specializzazione del modello. Una versione speciale di una funzione per un determinato set di argomenti modello è nota come specializzazione esplicita. Un modello di classe specializzato in un sottoinsieme dei suoi parametri è noto come specializzazione parziale del modello. Si verifica la specializzazione completa per ogni parametro è specializzato. Questa definizione è stata scritta nel contesto di C ++