2013-06-25 7 views

risposta

13

No, non verrà prodotto alcun codice per un modello di funzione che non viene mai istanziato. Inoltre, non verrà prodotto alcun codice per una funzione membro non modello di un modello di classe che non viene mai chiamato.

In particolare, la dimensione del file eseguibile non sarà più grande, né si verificherà alcun sovraccarico di runtime.

+0

(a meno che non si chiami esplicitamente il modello di classe) – aschepler

4

No, non lo è.

Le classi e le funzioni del modello non sono classi o funzioni effettive: sono invece indicazioni per il compilatore su come generare determinati tipi di classi e funzioni. Quando fai riferimento a un modello, il compilatore usa il modello per capire come generare il codice sorgente e compila il codice generato, una volta per ogni diversa parametrizzazione del modello.

L'unico sovraccarico nell'utilizzo di un modello è un po 'di tempo in più di compilazione, nessun grosso problema per qualsiasi computer costruito in qualsiasi momento dopo gli anni '80.

+0

Ok grazie che ha senso – Iowa15

Problemi correlati