|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
[C] Macro?!
Ma le macro sono le funzioni definite tramite il define?
Che differenza c'è definendo funzioni in questo modo e quali i vantaggi\svantaggi? ![]() Grazie ![]()
__________________
![]() ![]() |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]() La direttiva #define permette di associare ad un identificativo una sequenza di caratteri in modo che ogni volta che viene incontrato l'identificativo, viene espanso nella sequenza definita. Si possono usare le macro per definire semplici valori: #define MIO_NOME "Andrea" #define MIA_NASCITA 1973 oppure per definire operazioni più complesse: #define CUBO(x) ((x)*(x)*(x)) Vantaggi delle macro rispetto alle funzioni: - Vengono espanse nel punto richiesto, non c'è quindi overhead nella chiamata a funzione. Svantaggi delle macro rispetto alle funzioni: - bisogna fare attenzione agli "effetti collaterali" nella definizione della macro. - non sono tipizzate. Altro adesso non mi viene in mente. ![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
![]() Ma quindi le funzioni macro vengono caricate in memoria con il vantaggio di essere più veloci? ![]()
__________________
![]() ![]() |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
#define CUBO(x) ((x)*(x)*(x)) Codice:
int a=3; int b; b = CUBO(a); Codice:
int a=3; int b; b = ((a)*(a)*(a));
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
E overhead cosa sarebbe?
![]()
__________________
![]() ![]() |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]() http://it.wikipedia.org/wiki/Overhead
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
![]()
__________________
![]() ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:26.