zoukankan      html  css  js  c++  java
  • void指针及指针的多次赋值的理解

    1、void指针的类型转换

    int A::functionCommamd(const DWORD _from,const DWORD _to,const DWORD Event_type,void * _data,void* _ret)
    {
    	if (CMD_XXX_NUM==Event_type)
    	{
    		/*PropertiesPtr mProp= *(Properties::PropertiesPtr*)_data;
    		std::string data = mProp->getValue("Data", "");
    		Json::Reader oReader;
    		Json::Value oValue;
    		char data = oValue["event_info"]["pic_url"]["vehicle_pic_url"].asString().c_str();*/
    		CHAR*strdata = (char*)_data;
    		std::string* strret = (std::string*)_ret; //指针变量,进来的时候传数据长度,返回获取的图片URL
    		int iBufSize = atoi((*strret).c_str());
    		return GetCapturePicUrl(strdata, iBufSize, *strret);
    	}
    	return 0;
    }
    

      调用的时候,传入void指针的类型是什么,什么就强制转换成什么类型的:

    funcCommand(1, 2, 3, pstEventInfo->pPlatePicData.get(), &strPlateRet);
    strPlateRet虽然为传出参数,也可传入一个参数。但是最好在_data那里传个结构体指针。

    2、在一个栈里定义了一个指针,希望两次调用通过修改指针指向内存的数据,来实现不同的函数调用传入不同数据,可能有时候没修改成功,就传了。两次调用加sleep函数,不过最好定义两个指针。

  • 相关阅读:
    单词 统计
    第九周周进度报告
    日常总结
    Docker 初识
    读书笔记
    《未来简史》有感
    自己的Java规范文档
    nginx自动部署脚本
    jdk 自动化脚本
    我Java学习时的模样(三)
  • 原文地址:https://www.cnblogs.com/huangfuyuan/p/13289119.html
Copyright © 2011-2022 走看看