I C + + , du utse en C + + -funktion med inline nyckelordet för att göra en förfrågan till kompilatorn att förbättra funktionen prestanda . Beroende på flera faktorer , kan kompilatorn integrera funktionens kod i uppringarens kodström och optimera inline - expanderade kod. Inline är en förfrågan , inte en garanti . Kostnaden för inlining är vanligtvis en ökning av kod storlek. Läs vidare för att lära sig att deklarera inline funktioner i C + + . Saker du behöver
Intermediate förståelse av C + + eller C
C eller C + + kompilator med en IDE
Visa fler instruktioner
1
funktioner inline enligt följande kriterier. Koden inne funktionens hängslen bör inte överstiga tre rader . Programmets samtal till funktionen bör nummer i hundratals eller mer . Tänk på att alltför nitiska inlining kan orsaka ett fenomen som kallas kod svälla . Detta innebär för mycket att hämta in virtuellt minne , vilket kan försämra prestanda
2
Sätt inline sökord innan funktionen deklaration och definition för att ange att det är inline : .
Inline void Func ( int ) , //deklaration
inline void Func ( int num ) { kommenterar: //3 rader kod
}
3
inline delfunktionen av en C + + klass skriva koden för funktionen i klassen kroppen . Detta är ett alternativt sätt att berätta för kompilatorn att inline den funktionen , men det måste vara en medlem av en C + + klass :
class Complex {
allmänheten :
int Init ( ) {
//tre rader kod
}
4
Hitta alternativ till att använda den define makro, som är ett alternativ till en inline funktion. Den definierar makro kan förbehandlaren till inline - expandera en funktion . Makron är osäkra , eftersom de inte gör typkontroll :
# define avoidIfPoss ( i) ( ( i) > = 0 ( i) : - ? ( I) )