|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Sep 2005
Messaggi: 6
|
File header C++
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?? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
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.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Sep 2005
Messaggi: 6
|
ottimo grazie mi hai chiarito perfettamente ogni dubbio!!!!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:04.



















