Labela inline koja se stavlja na početak deklaracije funkcije predstavlja
preporuku prevodiocu da ne generira funkcijski poziv kad naiđe na funkciju,
već da njen kod ekspandira na tom mjestu, slično kao što to radi
preprocesor s funkcijskim makroima. Na primjer,
inline int Max(int a, int b) { return (a<b) ? b : a;}
Ideja je da prevodilac u ovom primjeru na mjestu gdje se pojavljuje poziv
funkcije Max ubaci kod
Funkcije članice definirane unutar klase automatski se tretiraju kao inline.
Druga je posljedica labele inline da dozvoljava dišestruko definiranje iste funkcije u različitim datotekama bez
multiple definition greške.
Preporuka za umetanje nije obavezna i prevodilac je može ignorirati ako je funkcija previše komplicirana.
S druge strane, prevodilac može sam odlučiti da umetne funkciju koja nije deklaririana labelom inline ako zaključi da bi tako bilo efikasnije.
U praksi, moderni se prevodioci ne obaziru na ovu labelu i sami odlučuju hoće li umetnuti funkciju.
Stoga ova labela danas više služi za izbjegavanje problema višestruke definicije.