为什么如果我们将 c_str() (从返回的 string )写入 const char * arr[1] 数组元素,那么数组元素中将没有字符串?但是如果您取消注释 uncomment me 行,那么一切都会按预期工作
string func(){ return string{"hello!"};}
int main() {
const char * arr[1];
// cout<<"func().c_str(): "<<func().c_str()<<endl; //uncomment me
arr[0] = func().c_str();
cout<<"arr[0]: "<<arr[0]<<endl; //expected hello!
}
输出:arr[0]: