Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come dichiarare le funzioni inline in C + +

In C + + , si designa una funzione C + + con la parola chiave inline per fare una richiesta al compilatore per migliorare le prestazioni della funzione. A seconda di diversi fattori , il compilatore può integrare il codice della funzione in flusso di codice del chiamante e ottimizzare il codice inline - espanso. Inline è una richiesta , non una garanzia . Il costo di inlining è solitamente un aumento delle dimensioni del codice . Continuate a leggere per imparare come dichiarare funzioni inline in C + + . Cose che ti serviranno
comprensione Intermedio di C + + o C
C o C + + compiler con un IDE
Mostra più istruzioni
1

Fai funzioni inline in base alla seguente criteri. Il codice all'interno delle parentesi della funzione non deve essere superiore a tre righe . Chiamate del programma per la funzione dovrebbe contano a centinaia o più. Tenete a mente che troppo zelante inline può provocare un fenomeno chiamato codice bloat . Questo significa troppa ripresa in memoria virtuale , che può rallentare le prestazioni
2

Mettere la parola chiave inline prima della dichiarazione di funzione e la definizione di designare che si tratta di linea : .
Inline void func ( int ) //dichiarazione
inline void func ( int num) {
//3 righe di codice
}
3

inline la funzione membro di una classe C + + per scrivere il codice della funzione nel corpo classe . Questo è un modo alternativo di dire al compilatore di inline quella funzione , ma deve essere un membro di una classe C + + :
class Complex {
pubblico :
int init () {
//3 righe di codice
}
4

Trova alternative all'utilizzo del define macro, che è un'alternativa a una funzione inline . La macro define permette al preprocessore di inline- espandere una funzione. Le macro non sono sicuri , perché non fanno il controllo del tipo :
# define avoidIfPoss ( i) ( ( i) > = 0 ( i) : - ? ( I) )


 

Programmazione © www.354353.com