A C++ bevezeti a név nélküli függvényeket a következő szintaxissal:
Látható, hogy visszatérési érték típusát sehol nem adtuk meg. Ebben az esetben azért, mert egyértelmű. A visszatérési értéket nem kötelező megadni, ha az a függvény törzsében található return kifejezés típusából kikövetkeztethető. Ha nincs visszaadott érték, a visszatérési típus void lesz.
A lambda kifejezések fel tudják használni a definíciójuk helyén látható változókat is. Ezeket a [] jelek között sorolhatjuk fel. A paraméter-átadás érték szerinti, hacsak nem jelöljük & jellel:
A fenti példa kiírja a tömbben található értékek összegét. A környezetből átvett változókat sem muszáj felsorolni (kivétel a this, amelyet explicit át kell adni), ha megadjuk az alapértelmezett paraméter-átadási módot: [&] a referencia szerinti, [=] az érték szerinti. Ezt felülbírálhatjuk, ha a változót explicit kiírjuk. Pl: [&, value] illetve [=, &ref]. Ekkor a value érték szerint, a ref referencia szerint adódik át.
Ha ilyen lambda kifejezést eltárolunk, és nem a definiálás helyén hívjuk meg, a viselkedés definiálatlan.
A C++-ban a template függvények visszatérési értékének megadása sokszor problémás: Azt szeretnénk kifejezni, hogy a visszatérési érték függ a többi típusparamétertől, de azokkal nem feltétlenül egyezik meg. Egyetlen lehetőség, hogy egy újabb típusparaméterként a ezt is megadjuk:
A C++ új függvény szintaxist vezet be, amelyben használható a decltype kulcsszó is a visszatérési érték kiszámítására:
Az új szintaxist természetesen nem csak sablonokban használhatjuk: