C++11 är den största nyheten i C++ världen på 20 år och innehåller såväl stora språkliga förbättringar som utbyggnader av biblioteket.
Det mest fantastiska med nya C++ är att det har stöd för closures, kallad lambda uttryck. Enkelt formulerat är det anonyma funktions-uttryck som kan hanteras som variabel-värden. Detta gör att C++ sällar till raden av språk som redan har closures, såsom Groovy, Scala, Ruby, Perl, JavaScript m.fl. Samt att Java blir från-åkt med åtminstone ett år, eftersom vi måste vänta tills Java8, släpps någon gång efter sommaren.
Ett enkelt lambda uttryck i C++11, kan se ut som nedan. Där variabeln f är bunden till uttrycket och sen anropas på andra raden. Här ser du också att C++ fått "dynamisk typing" i viss utsträckning med auto.
auto f = [](int x, int y){return x*x + y*y;};
int r = f(2,5);
Klicka på bilden för att se den full storlek. Programmet är kompilerat med GCC 4.6.1 på Ubuntu Linux version 11.10.
Om du vill veta mer, så boka ett seminarium/injection om nya C++11 och bli lika hänförd och lyrisk som jag själv är över vad som i praktiken är ett nytt häftigt programspråk.
Skicka en kommentar
Trevligt att du vill dela med dig av dina åsikter! Tänk på att hålla på "Netiketten" och använda vårdat språk.