Saya telah bermain-main dengan std::string_view
perpustakaan dan saya telah memikirkan untuk mengubah basis kode yang telah saya coba untuk menggunakan std::string_view
sebanyak mungkin. Namun, di banyak thread yang saya telah membaca tentang masalah kapan dan di mana untuk menggunakan std::string_view
bukan const std::string &
. Saya telah melihat banyak jawaban mengatakan, "Ketika Anda tidak membutuhkan string yang diakhiri dengan nol." Jadi ketika saya mulai mencari di web, "kapan Anda membutuhkan string yang diakhiri?" Saya belum menemukan jawaban yang membantu tentang masalah ini.
Saya dapat memikirkan contoh perpustakaan eksternal yang akan Anda tautkan ke yang memerlukan a std::string
. Dan dalam hal ini Anda akan membutuhkan string yang diakhiri null karena perpustakaan itu mengharuskannya. Saya kira contoh lain adalah jika Anda perlu memodifikasi string itu sendiri, tetapi kemudian kita tidak akan melewatinya const &
jika kita perlu memodifikasinya.
Jadi kapan Anda perlu menggunakan string yang dihentikan nol?
Tautan yang telah saya lihat:
const char*
argumen eerorika's anwer memiliki contoh.