当前位置: 首页 > news >正文

专门做评测的网站wordpress区块编辑器

专门做评测的网站,wordpress区块编辑器,天津免费建设网站,电脑系统做的好的几个网站在C中#xff0c;this指针是一个隐藏的指针#xff0c;指向当前对象实例。它在成员函数中自动可用#xff0c;用于访问该对象的成员变量和成员函数。理解this指针的工作原理有助于理解为什么指向成员的指针是可调用的。在本文中#xff0c;我们将详细探讨this指针的概念中this指针是一个隐藏的指针指向当前对象实例。它在成员函数中自动可用用于访问该对象的成员变量和成员函数。理解this指针的工作原理有助于理解为什么指向成员的指针是可调用的。在本文中我们将详细探讨this指针的概念并通过具体的代码示例说明其在指向成员指针中的应用。 1. 理解this指针 每个非静态成员函数都有一个隐藏的this指针指向调用该函数的对象。this指针在成员函数内部自动可用允许函数访问对象的成员。 class MyClass { public:int value;void display() {std::cout Value: this-value std::endl;} };在上述代码中this-value访问了当前对象的成员变量value。 2. 指向成员变量的指针 指向成员变量的指针用于指向类的成员变量。这种指针不能单独使用必须结合特定的对象实例。 class MyClass { public:int value; };int MyClass::*ptr MyClass::value;MyClass obj; obj.value 42;// 使用成员变量指针访问对象成员 std::cout Value: obj.*ptr std::endl;在这里ptr是指向成员变量value的指针必须通过对象实例obj来访问。 3. 指向成员函数的指针 指向成员函数的指针用于指向类的成员函数。这种指针的类型为ReturnType (ClassName::*)(ArgType)其中ReturnType是函数的返回类型ArgType是函数的参数类型。 class MyClass { public:void display(int num) {std::cout Number: num std::endl;} };void (MyClass::*funcPtr)(int) MyClass::display;MyClass obj; (obj.*funcPtr)(42);在这里funcPtr是指向成员函数display的指针通过对象实例obj调用。 4. this指针如何使成员指针可调用 在调用成员函数指针时编译器隐式地传递了this指针使得成员函数可以访问当前对象的成员变量。这是为什么成员指针可以通过对象实例调用的原因。 5. 代码示例使用指针的爬虫示例 我们将实现一个多线程的爬虫示例使用代理IP技术来提高采集效率。我们假设使用亿牛云爬虫代理其域名、端口、用户名和密码分别为proxy.16yun.cn8080usernamepassword。在示例中我们将利用C的成员指针和this指针。 爬虫类设计 首先我们设计一个爬虫类其中包括成员函数和指向这些成员的指针。 #include iostream #include thread #include vector #include curl/curl.h//爬虫代理设置使用亿牛云爬虫代理加强版 const std::string PROXY proxy.16yun.cn:8080; const std::string PROXY_USERPWD username:password;// 用于接收curl回调的函数 size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* userp) {((std::string*)userp)-append((char*)contents, size * nmemb);return size * nmemb; }class WebCrawler { public:// 成员变量std::string response;// 成员函数void fetchUrl(const std::string url) {CURL* curl;CURLcode res;response.clear();curl curl_easy_init();if (curl) {curl_easy_setopt(curl, CURLOPT_URL, url.c_str());curl_easy_setopt(curl, CURLOPT_PROXY, PROXY.c_str());curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, PROXY_USERPWD.c_str());curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);curl_easy_setopt(curl, CURLOPT_WRITEDATA, response);res curl_easy_perform(curl);if (res ! CURLE_OK) {std::cerr curl_easy_perform() failed: curl_easy_strerror(res) std::endl;} else {std::cout Data from url : response std::endl;}curl_easy_cleanup(curl);}}// 使用成员函数指针调用void startMultithreadedCrawl(const std::vectorstd::string urls) {std::vectorstd::thread threads;void (WebCrawler::*funcPtr)(const std::string) WebCrawler::fetchUrl;for (const auto url : urls) {threads.emplace_back(std::thread(funcPtr, this, url));}for (auto thread : threads) {if (thread.joinable()) {thread.join();}}} };int main() {WebCrawler crawler;std::vectorstd::string urls {http://example.com,http://example.org,http://example.net};crawler.startMultithreadedCrawl(urls);return 0; }代码解释 WebCrawler类 包含一个成员变量response用于存储HTTP响应。包含一个成员函数fetchUrl用于使用CURL库从给定URL抓取数据。包含一个成员函数startMultithreadedCrawl用于启动多线程爬取。 成员函数指针 void (WebCrawler::*funcPtr)(const std::string) WebCrawler::fetchUrl; 定义了一个指向成员函数fetchUrl的指针。std::thread(funcPtr, this, url) 通过this指针将成员函数指针与具体的对象实例绑定在多线程中调用。 多线程爬取 创建一个包含多个URL的向量。调用startMultithreadedCrawl函数在每个线程中通过成员函数指针调用fetchUrl。 通过以上示例我们不仅展示了this指针如何使C成员指针可调用还展示了在实际应用中如何结合代理IP技术和多线程技术提高爬取效率。希望这些内容能帮助您更好地理解C中的this指针和成员指针的应用。
http://www.hkea.cn/news/14425626/

相关文章:

  • 阿里巴巴国际站网页设计教程网站网站建设企业
  • wordpress调用站点标题wordpress插件+七牛
  • seo怎么刷关键词排名东莞seo优化指南
  • 网站新闻被百度收录建设门户公司网站
  • 网站开发应看什么书籍将网站的字体设计成百分比的形式要怎样定义
  • 找建筑图纸的网站针对315老坛酸菜企业解决方案
  • 做网站哪种字体好看大丰做网站建设的公司
  • 死循环网站国内wordpress主机推荐
  • 为什么要先创建站点后建立文件?能否改变两者的顺序?佛山微网站价格
  • 高端医院网站建设网站建设考核
  • 地产广告设计网站遵化手机网站设计
  • 家居企业网站建设案例学做效果图网站有哪些软件
  • flash分享网站怎样才能建立网站
  • 做网站建设价格怎么0元开网店
  • 有哪些做的好看的网站家具网站的建设
  • 商城网站怎么建设什么是整合营销概念
  • wordpress架构的网站静态网站模板源码下载
  • 泉州做网站优化wdcp设置网站安全
  • 胶东网站建设惠州小程序搭建
  • 东莞企业网站制作怎么做潍坊市建设厅网站
  • 云南建网站的公司wordpress缩略图模糊
  • 如何备份wordpress站点济南外贸网站
  • cnzz网站排名是怎么做的做通路富集分析的网站
  • 硅胶 技术支持 东莞网站建设网站建设的基本过程
  • app网站开发公司建设网站都要学些什么问题
  • wordpress 网站关键词设置网站功能模块表格
  • 用织梦做的网站好用吗wordpress外贸网站源码
  • 台州网站建站服务哪家奿wordpress 404 插件
  • 网站建设推广多少钱个人网站logo图片
  • 怎么做淘宝客个人网站泉州有专门帮做网站的吗