c++ - 内存泄漏了吗?

标签 c++

我有一个方法,它接受指向字符串的普通指针

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/

相关文章:

c++ - std::ifstream::read 或 std::ofstream::write 参数为零?

C# DLLImport 'Complex' 数组返回和参数

c++ - 如果找不到元素,std::find 返回什么

c++ - Qt - 使用 QString::arg 将文本对齐到列中

c++ - 无法访问 C++ vector 下的内存

c++ - 在多个对话框中显示和使用相同的 MFC CList 控件

c++ - 如何有效使用Boost的intrusive_ptr?

c++ - 如何返回映射到可变参数位置的类型

C++定律? (类似于三巨头法则)

c++ - 检查字符串是否在以字符串 vector 为值的映射的值中