Die C++ - Kernrichtlinien erwähnen Spannen, nicht "Multi-Spannen". Aber - ich sehe, dass GSL Implementierung von Microsoft ein so multi_span
classWozu soll gsl :: multi_span verwendet werden?
template <
typename ValueType,
std::ptrdiff_t FirstDimension,
std::ptrdiff_t... RestDimensions
>
class multi_span { ... };
hat, offensichtlich ist dies eine Art von einer mehrdimensionalen Version von gsl::span
. Aber was soll das heißen? Warum brauchen wir diese mehrdimensionale Spannweite oder vielmehr - wann würden wir sie verwenden? Ich kann keine Dokumentation dazu finden.
Ich frage mich, warum brauchen wir eine separate Klasse dafür? Es scheint, dass es möglich ist, "span" so zu gestalten, dass es sowohl für eine als auch für mehrere Dimensionen anwendbar ist. – Mikhail
@Michail es ist nicht in GSL, es ist eine eigene Erweiterung von Microsoft. Wahrscheinlich gab es keinen Konsens darüber, wie multidimensionale Spannen implementiert werden sollten, oder es gab einige Probleme mit ihnen, so dass sie nicht zu GSL wurden. Anscheinend entschied Microsoft, dass es sie immer noch will, oder rollte eigene Proof-of-Concept-Implementierung zum Testen, um die bestehende Spannungsklasse nicht zu brechen, machte sie eine neue. –