Heim >Backend-Entwicklung >C++ >Warum unterstützt „std::optional' keine Referenztypen?
Optionale Referenzen: Abwesenheit in std::optional
Im Gegensatz zur optionalen Klasse von Boost, die Referenztypen unterstützt, ist std::optional der Standardbibliothek fehlt diese Funktionalität. Dieses Versäumnis hat zu Nachforschungen über die Gründe für diese Entscheidung geführt.
Mangelnde Spezialisierung
Als std::optional ursprünglich als std::experimental::optional vorgeschlagen wurde libc äußerten die Ausschussmitglieder Bedenken hinsichtlich optionaler Referenzen. Anschließend entschieden sich die Autoren in der dritten Überarbeitung des Vorschlags (n3527), optionale Verweise zu einem Hilfsvorschlag zu machen, um die Wahrscheinlichkeit zu erhöhen, dass optionale Werte genehmigt und in C 14 integriert werden.
Zukunftsaussichten
Obwohl optionale Referenzen aus anderen Gründen nicht in C 14 aufgenommen wurden, lehnte das Komitee sie nicht direkt ab. Sie bleiben offen für die Möglichkeit, optionale Verweise in zukünftige C-Standards aufzunehmen, wenn ein formeller Vorschlag vorgelegt wird.
Alternative Lösungen
In der Zwischenzeit können Entwickler alternative Lösungen in Betracht ziehen wie zum Beispiel benutzerdefinierte Objekt-Wrapper oder die Verwendung der boost::optional-Bibliothek, die die Funktionalität für Referenztypen bereitstellt.
Das obige ist der detaillierte Inhalt vonWarum unterstützt „std::optional' keine Referenztypen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!