Verwendet C Lambda-Ausdrücke?

8

Und wenn ja, wie benutzt du einen? (Syntax)

Auch, warum oder warum unterstützt C keine Lambda-Ausdrücke?

    
shosh 02.05.2010, 00:23
quelle

3 Antworten

10

Nein, C unterstützt keine Lambda-Ausdrücke.

Wenn Sie C ++ verwenden möchten, verfügt Boost über eine Bibliothek, die Lambdas emuliert. Außerdem wird C ++ 0x eingebaute Unterstützung für Lambda-Ausdrücke haben.

Zu dieser Zeit gab es keine große Nachfrage nach Unterstützung für Lambda-Ausdrücke in C, weshalb die Sprache dies nicht unterstützte.

    
In silico 02.05.2010, 00:27
quelle
5

C unterstützt weder Lambda-Ausdrücke noch andere Möglichkeiten (innerhalb des Standards der Sprache), um dynamisch Funktionen zu erstellen - alle Funktionen werden standardmäßig zum Zeitpunkt der Kompilierung erzeugt. Ich vermute, der Grund ist, die Sprache klein, einfach, schlank und sehr schnell zu halten, wobei kaum Unterstützung für die Laufzeitbibliothek erforderlich ist - entscheidend für eine Sprache, die bei der Programmierung von Betriebssystemen, Gerätetreibern, eingebetteten Anwendungen und so weiter.

    
Alex Martelli 02.05.2010 00:27
quelle
3

Nein, C hat keine Lambda-Ausdrücke (oder eine andere Möglichkeit, Closures zu erzeugen).

Dies ist wahrscheinlich so, weil C eine Low-Level-Sprache ist, die Features vermeidet, die eine schlechte Performance haben und / oder die Sprache oder das Laufzeitsystem komplexer machen.

    
sepp2k 02.05.2010 00:27
quelle

Tags und Links