在这种情况下我是否需要释放char

Pav*_*avi 0 c++ memory-management

我的代码看起来像这样:

const char *msg = getMessageFromAnObject(); // gets one slot from a char **

return std::string ( msg );
Run Code Online (Sandbox Code Playgroud)

现在,我是否需要释放msg或是否需要谨慎处理.

谢谢.帕文.

Tri*_*dle 5

getMessageFromAnObject()返回一个事实const char*表明您不需要释放返回值.但这只是一种倾向于在C API中使用的约定 - 唯一可以确定的方法是查看文档,或者如果有的话,查看源代码.