Câu hỏi của tôi là về C++ 17: http://en.cppreference.com/w/cpp/string/basic_string_view/basic_string_viewKhông chuyển đổi ngầm từ std :: string để std :: string_view trong C++ 17 (đã ở std :: nghiệm :: basic_string_view)
gì là caveat của chuyển đổi tiềm ẩn từ std :: basic_string để std :: basic_string_view rằng nó không được bao gồm trong giao diện của sau này?
Tôi tin rằng nó sẽ cải thiện đáng kể lớp học này. Đặc biệt là họ của toán tử so sánh, cũng không chấp nhận std :: string là không lhs cũng không phải rhs.
Có chuyển đổi như vậy trong thư viện cơ bản TS đặc điểm kỹ thuật: http://en.cppreference.com/w/cpp/experimental/basic_string_view/basic_string_view
Câu hỏi này là về việc tại sao nó đã được gỡ bỏ. Hay đúng hơn là không được chấp nhận.
Chuyển đổi C++ 17 theo hướng ngược lại, từ string_vew thành chuỗi. – Cubbi
@Cubbi Đối với một, chuyển đổi đó là * rõ ràng *. Thứ hai, chuyển đổi thành 'std :: string' sẽ là một cách khá đắt tiền để so sánh' std :: string_view' với 'std :: string'. – GreenScape
Nó đã được quyết định rằng đây sẽ là trách nhiệm 'basic_string'. http://en.cppreference.com/w/cpp/string/basic_string/operator_basic_string_view –