Können Lambda-Funktionen in „constexpr'-Ausdrücken verwendet werden?
Nov 01, 2024 am 01:15 AMConstexpr-Unterstützung für Lambda-Funktionen
Ursprüngliche Frage:
Können Lambda-Funktionen den constexpr nutzen? Schlüsselwort?
Antwort:
In C 14 werden Lambda-Funktionen von constexpr nicht unterstützt. Dies wird sich jedoch mit der Einführung von N4487 ändern. Dieser Vorschlag würde Lambdas und bestimmte Schließungsoperationen in konstanten Ausdrücken ermöglichen.
Erklärung:
Unter [expr.const]/(2.6) des C 14-Standards, Lambdas sind von konstanten Ausdrücken ausgeschlossen. Diese Einschränkung ist in N4487 beschrieben:
„Dieser Vorschlag schlägt vor, **Lambda-Ausdrücke** in konstanten Ausdrücken zuzulassen und eine bestehende Einschränkung aufzuheben. Die Autoren schlagen vor, dass bestimmte **Lambda-Ausdrücke** und Operationen auf Bestimmte Abschlussobjekte dürfen innerhalb konstanter Ausdrücke erscheinen.
Wenn der constexpr-Spezifizierer im Lambda-Deklarator weggelassen wird, wird der generierte Funktionsaufrufoperator zu constexpr, solange er die Anforderungen einer constexpr-Funktion erfüllt. Dieses Verhalten ähnelt der constexpr-Inferenz für implizit definierte Konstruktoren und Zuweisungsoperatoren.
Das obige ist der detaillierte Inhalt vonKönnen Lambda-Funktionen in „constexpr'-Ausdrücken verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

GULC: C -Bibliothek von Grund auf neu gebaut

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?

eindeutiger Gebrauch und Phrasenfreigabe

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?
