„span“ in C verstehen
Der Typ „span“ ist eine leichtgewichtige Abstraktion, die eine zusammenhängende Folge von Werten im Speicher darstellt. Es kann als eine Kreuzung zwischen einem Rohzeiger und einem Container betrachtet werden, jedoch ohne den Overhead oder die Eigentumssemantik des letzteren.
Wann man span verwenden sollte
Erwägen Sie die Verwendung Spanne über Rohzeiger, wenn die zugewiesene Länge oder Größe eine Rolle spielt. Anstelle von Funktionen wie:
void read_into(int* buffer, size_t buffer_size);
können Sie beispielsweise Folgendes verwenden:
void read_into(span<int> buffer);
Verwenden Sie span nicht, wenn Sie über einen vorhandenen Container verfügen, der Ihren Anforderungen entspricht. Spans sollen nicht Standardbibliothekscontainer ersetzen.
Vorteile der Verwendung von span
Darüber hinaus erleichtern Spans die Lesbarkeit des Codes und die statische Analyse und helfen so, potenzielle Fehler zu identifizieren.
Verfügbarkeit
C 20:Span wurde in C 20 offiziell als std::span in die Standardbibliothek übernommen.
C 17 oder früher:
Wenn Sie verwenden C 17 oder früher können Sie über Bibliotheken von Drittanbietern wie GSL oder GSL-Lite von Microsoft auf Span zugreifen, die Implementierungen basierend auf der Support Library der Core Guidelines bereitstellen (GSL).
Weitere Ressourcen:
Das obige ist der detaillierte Inhalt vonWann sollten Sie „std::span' in C verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!