Più che un'espansione è l'unico modo per tenere distinta interfaccia e funzioni. Nulla vieta di usare un unico file (per cose piccole non è un grosso problema).Originariamente inviato da giuseppe500
In pratica nell esempio che ho postato include un file .inl in modo che sia un espansione della classe .h in cui è incluso il template , mi sembra un buon metodo, o no?
No. Non è opzionale.quello che non ho capito principalmente non sono le funzioni inline , bensi perchè vengono usate nei template ( o è opzionale utilizzarle con i template).
Il fatto che una funzione sia un template rende obbligatorio che sia inlineDa quello che sto leggendo anche il template esegue più o meno la stessa cosa delle funzioni inline, l' espansione del codice fatta dal compilatore , mi chiedevo se le due cose(inline e template) fossero relazionate.
La regola è: tutte le funzioni dichiarate e definite in un file header, o file incluso da un file header visibile ad altre unità di compilazione, devono avere la parola chiave inline.
No. La sola differenza rispetto a un funzione template è che il costruttore è chiamato in automatico quando viene costruito un oggetto.L'ultima cosa: i costruttori nei template, si utilizza un modo diverso per dichiararli e implementarli?