Meine Frage ist in Bezug auf C++ 17: http://en.cppreference.com/w/cpp/string/basic_string_view/basic_string_viewKeine implizite Konvertierung von std :: string std :: string_view in C++ 17 (war in std :: Versuch :: basic_string_view)
Was ist das Einschränkung der impliziten Konvertierung von std :: basic_string nach std :: basic_string_view, dass es nicht in der Schnittstelle der letzteren enthalten war?
Ich glaube, es würde diese Klasse erheblich verbessern. Vor allem die Familie der Vergleichsoperatoren, die std :: string weder als lhs noch als rs akzeptieren.
Es ist eine solche Umwandlung in Bibliothek Grundlagen TS Spezifikation: http://en.cppreference.com/w/cpp/experimental/basic_string_view/basic_string_view
Diese Frage ist, warum es entfernt wurde. Oder eher nicht angenommen.
C++ 17 Umwandlung geht in die entgegengesetzte Richtung, von String_vew nach String. – Cubbi
@Cubbi Zum einen ist diese Konvertierung * explizit *. Für die zweite wäre die Konvertierung in 'std :: string' eine ziemlich teure Methode,' std :: string_view' mit 'std :: string' zu vergleichen. – GreenScape
Es wurde beschlossen, dass dies die Verantwortung von "basic_string" sein sollte. http://en.cppreference.com/w/cpp/string/basic_string/operator_basic_string_view –