I C + + , angir du en C + + funksjon med inline nøkkelord for å gjøre en forespørsel til kompilatoren for å forbedre funksjonen ytelse. Avhengig av flere faktorer , kan kompilatoren integrere funksjonens koden på den som ringer koden stream og optimalisere inline -expanded kode . Inline er en forespørsel , ikke en garanti . Kostnaden for innebygging, er vanligvis en økning i koden størrelse . Les videre for å lære hvordan å erklære inline funksjoner i C + + . Du trenger
Intermediate forståelse av C + + eller C
C eller C + + kompilatoren med en IDE
Vis flere instruksjoner
en
Gjør funksjoner internt i henhold til følgende kriterier. Koden inne funksjonens bukseseler bør ikke overstige tre linjer. Programmets samtaler til funksjonen skal telle i hundrevis eller mer. Husk at altfor ivrige inlining kan forårsake et fenomen som kalles kode bloat . Dette betyr også mye å hente inn virtuelt minne , som kan redusere ytelsen
2
Sett inline søkeord før funksjonen erklæringen og definisjon å utpeke at det er inline : .
Inline void Func ( int ) , //erklæring
inline void Func ( int num ) { Twitter //3 linjer med kode
}
3
inline medlemmet funksjon av en C + + klasse skrive koden for funksjonen i klassen kroppen . Dette er en alternativ måte å fortelle kompilatoren til inline som fungerer , men det må være medlem av en C + + klasse : en klasse Complex {
offentlige : en int Init ( ) { Twitter //3 linjer med kode
}
4
Finn alternativer til å bruke define makro, som er et alternativ til en innebygd funksjon. Den define makro lar preprocessor til inline - utvide en funksjon . Makroer er usikre, fordi de ikke gjør typesjekking : en # define avoidIfPoss ( i) ( ( i) > = 0 ( i) : - ( i) )