| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  23-03-2006, 10:41 | #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?? | 
| ![Lateralus[BF] è offline](images_hwu/statusicon/user_offline.gif)  |   | 
|  23-03-2006, 10:55 | #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 | 
|   |   | 
|  23-03-2006, 11:08 | #3 | 
| Junior Member Iscritto dal: Sep 2005 
					Messaggi: 6
				 | 
		ottimo grazie mi hai chiarito perfettamente ogni dubbio!!!!
		 | 
| ![Lateralus[BF] è offline](images_hwu/statusicon/user_offline.gif)  |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 18:16.









 
		 
		 
		 
		![L'Avatar di Lateralus[BF]](customavatars/avatar106548_2.gif)







 
  
 



 
                        
                        










