清泛IT社区
标题:
std::stringstream ss; 直接使用ss.str().c_str() 字符串指针可能导致崩溃
[打印本页]
作者:
清泛网
时间:
2020-08-03 13:22
标题:
std::stringstream ss; 直接使用ss.str().c_str() 字符串指针可能导致崩溃
std::stringstream ss;
const char* ch = ss.str().c_str();
call_func(ch);
这种写法在系统内存不足时,ss会立马释放内存,字符串指针ch可能会非法访问导致崩溃。
代码最好的是分开写:
std::stringstream ss;
std::string str = ss.str();
const char* ch = str.c_str();
call_func(ch);
Linux下使用 valgrind 工具可以查出上面可能的非法内存访问的问题。
欢迎光临 清泛IT社区 (https://bbs.tsingfun.com/)
Powered by Discuz! X3.3