返回的 const char* 指针, 当string对象离开变量作用区之后,指针就无效了。
要避免下面的用法:
const char* ptr=my_ret_str_func().c_str();
因为返回string的函数,返回的string对象是一个临时对象。随时可能被销毁,ptr是不可靠的。
应该这样使用:
string tmpstr=my_ret_str_func();
const char* ptr=tmpstr.c_str();
返回的 const char* 指针, 当string对象离开变量作用区之后,指针就无效了。
要避免下面的用法:
const char* ptr=my_ret_str_func().c_str();
因为返回string的函数,返回的string对象是一个临时对象。随时可能被销毁,ptr是不可靠的。
应该这样使用:
string tmpstr=my_ret_str_func();
const char* ptr=tmpstr.c_str();