Curl_easy_cleanup不清除curl指针
curl_easy_cleanup doesnt clear curl pointer
当我执行curl_easy_perform时,我然后执行curl_easy_cleanup,如下所示:
CURL* pEasy = nullptr;
pEasy = curl_easy_init();
if (pEasy != nullptr)
{
curl_easy_setopt(pEasy, CURLOPT_USERNAME, user.c_str());
curl_easy_setopt(pEasy, CURLOPT_PASSWORD, pass.c_str());
curl_easy_setopt(pEasy, CURLOPT_URL, urlToConnectTo.c_str());
curl_easy_setopt(pEasy, CURLOPT_WRITEFUNCTION, OnReceiveHttpResponse);
curl_easy_perform(pEasy);
curl_easy_cleanup(pEasy);
}
我注意到在我的调试器中pEasy指针的地址,它说0x2af0ad18,但在我执行curl_easy_cleanup后,它仍然是0x2af0ad18。
我是否必须将其设置为nullptr之后?我希望curl_easy_cleanup为我重置这个??
http://curl.haxx.se/libcurl/c/curl_easy_cleanup.html
函数接受一个指针,你怎么能期望它在你的局部作用域中改变一些东西的值?
当您调用free(x)
时,它不会将set x
设置为null
,它只是释放内存,这与curl_easy_cleanup
所做的事情相同。之后是否要将pEasy
设置为nullptr取决于您,这可能是良好的实践,但没有必要取决于您的代码布局以及pEasy
是否即将超出范围。
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 为什么使用 "this" 指针调用派生成员函数?
- 函数向量_指针有不同的原型,我可以构建一个吗
- 使用指针从C++中的数组中获取最大值
- 助记符和指向成员语法的指针
- 嵌入方指针压缩已禁用
- 数组的指针从不分段故障
- C++ 指针的内存地址和指向数组的内存地址如何相同?
- 何时在引用或唯一指针上使用移动语义
- 在C++中使用cURL和多线程
- QMetaObject invokeMethod的基于函数指针的语法
- 如何从 std::atomic 中提取指针 T<T>?
- 如何在 C# 中映射双 C 结构指针?
- C++将浮点指针值舍入为小数位数
- 为什么++(*p)更改指针值
- 调整大小后指向元素值的指针unordered_map有效?
- 正在将指针转换为范围
- 如何在结构体中传递指向CURL的指针到向量
- Curl_easy_cleanup不清除curl指针