用于初始化和清理 libcurl 全局状态的单例类。 更多...
#include <libcurl.hpp>
公共类型 | |
using | UniqueHandlePtr = std::unique_ptr< CURL, std::function< decltype(curl_easy_cleanup)> > |
公共成员函数 | |
UniqueHandlePtr | get_free_handle () |
如果可用,返回一个空闲的 curl handle。 | |
UniqueHandlePtr | get_handle () |
返回一个 curl handle,如果没有可用的,则创建一个新的。 | |
void | retain_handle (UniqueHandlePtr handle) |
保留一个 curl handle 以供后续使用。 | |
静态公共成员函数 | |
static LibCurl & | instance () |
用于初始化和清理 libcurl 全局状态的单例类。
注意,libcurl 允许使用单例类
在 C++ 模块中,通常通过定义一个特殊的类来处理全局常量的情况,该类代表模块的全局常量环境。程序始终在静态存储中拥有该类的一个精确对象。这样,程序在启动时会自动调用对象的构造函数,在终止时调用析构函数。作为这个使用 libcurl 的模块的作者,你可以让构造函数调用 curl_global_init,让析构函数调用 curl_global_cleanup,从而满足 libcurl 的要求,而无需用户考虑。 (注意:如果你从 Windows DLL 初始化 libcurl,则不应从 DllMain 或静态初始化器中初始化,因为 Windows 在此期间持有加载器锁,可能导致死锁。)
来源 https://curl.se/libcurl/c/libcurl.html。
定义位于文件 libcurl.hpp 的第 53 行。