我有一个方法,它接受指向字符串的普通指针
void parseResponseData(char* response);
我这样调用它
parseResponseData((char *) response.c_str());
响应是 std::string 类型。我的假设是,这可能不是将 const char* 转换为 char* 的最佳方法,其次,在这种情况下我可能会泄漏内存?需要专家意见吗?特别是我正在寻找是否正在泄漏内存。
最佳答案
你真的不应该那样施法。总的来说,避免在 C++ 中进行 C 风格的转换,并且删除常量性几乎从来都不是一个好的选择。如果您必须从指针中删除 const,请使用 const_cast
并且真的尽量避免这种情况。
内存不会泄露,因为 string 仍然拥有它。
关于c++ - 内存泄漏了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14262651/