Tim kami bekerja dengan basis kode C ++ 10+ tahun dan baru-baru ini beralih ke kompiler C ++ 17. Jadi kami mencari cara untuk memodernisasi kode kami. Dalam ceramah konferensi di YouTube saya mendengar saran, untuk menggantikan const char*
string global constexpr string_view
.
Karena kita punya cukup banyak const char*
konstanta string global dalam kode kita, saya ingin bertanya apakah ada masalah atau masalah potensial yang perlu kita ketahui?
sumber
std::string(sv).c_str()
sebaliknya untuk meneruskan ke API?someLegacyFct(std::string(sv).c_str())
dan backend ini entah bagaimana menyimpan pointer ...const char*
konstruktor eksplisit . Jadi konstruksi eksplisitstd::string
daristring_view
hanya akan konsisten dalam kasus kami.