Tôi đã chơi xung quanh với std::string_view
thư viện và tôi đã suy nghĩ về việc thay đổi một cơ sở mã mà tôi đang làm việc để sử dụng std::string_view
càng nhiều càng tốt. Tuy nhiên, trong nhiều chủ đề mà tôi đã đọc về chủ đề khi nào và ở đâu sử dụng std::string_view
thay vì const std::string &
. Tôi đã thấy nhiều câu trả lời rằng: "Khi bạn không cần một chuỗi kết thúc null." Vì vậy, khi tôi bắt đầu tìm kiếm trên web, "khi nào bạn cần một chuỗi kết thúc null?" Tôi chưa thực sự bắt gặp bất kỳ câu trả lời hữu ích nào về chủ đề này.
Tôi có thể nghĩ về một ví dụ về một thư viện bên ngoài mà bạn sẽ liên kết đến đó yêu cầu a std::string
. Và trong trường hợp đó, bạn sẽ cần một chuỗi kết thúc null vì thư viện đó yêu cầu nó. Tôi đoán một ví dụ khác sẽ là nếu bạn cần sửa đổi chính chuỗi đó, nhưng sau đó chúng tôi sẽ không vượt qua nó const &
nếu chúng tôi cần sửa đổi nó.
Vì vậy, khi nào bạn cần sử dụng một chuỗi kết thúc null?
Liên kết mà tôi đã xem:
const char*
tranh luận. Anwer của eerorika có một ví dụ.