void changeString(const char* &s){
std::string str(s);
str.replace(0, 5, "Howdy");
s = str.c_str();
}
int main() {
const char *s = "Hello, world!";
changeString(s);
std::cout << s << "\n";
return 0;
}
Bu kodu çalıştırdığımda, "Howdy, world!" Yazdı changeString
çıktığı zaman str
'un imha edildiğini düşünürdüm. std::string
'un yolu ile bir şey eksik miyim?dizgi ayırma: neden bu işe yarar?
Ben * tahmin * bu * oldu * çalışmak için. – MikeCAT
Bazen, tanımlanmamış davranışlar işe yarayabilir. Bununla birlikte, bunun işe yaramasını beklememelisiniz. –
Kötü şans. Haklısın, yanlış. –