PDA

View Full Version : File header C++


Lateralus[BF]
23-03-2006, 09:41
:help: :help:
O un dubbio ke richiede una risposta urgente, mi pare di ricordare che per funzioni semplici (come funzioni ke restituiscono solo il valore di un attributo) sia consigliabile implemantare la funzione direttamente nel file .h, credo per motivi di efficenza, è proprio cosi o è una un idiozia colossale ed è meglio fare solo le dichiarazioni??

ilsensine
23-03-2006, 09:55
Bè sì è giusto; un metodo implementato in un file sorgente richiede sempre una chiamata a una funzione, mentre un metodo inline implementato in un header può essere inserito direttamente dove viene utilizzato e inoltre soggetto a maggiori ottimizzazioni. Se il metodo è molto breve è un vantaggio; per metodi più corposi una realizzazione inline non porta significativi vantaggi (il risparmio di un call è trascurabile rispetto al corpo della funzione) e in più, se il metodo è usato in più punti, causa un maggiore utilizzo della icache.
Comunque anche se dichiari una funzione inline, il compilatore usa delle valutazioni euristiche per decidere se effettivamente conviene una realizzazione inline oppure una out-of-line.

Lateralus[BF]
23-03-2006, 10:08
ottimo grazie mi hai chiarito perfettamente ogni dubbio!!!!