开发者社区> 问答> 正文

void指针类型的函数形参,是如何使用的呢?

void指针类型的函数形参,是如何使用的呢?

展开
收起
游客3gzok77e677xw 2022-03-30 02:42:16 515 0
1 条回答
写回答
取消 提交回答
  • 以下以传共享指针为例:代码很简单,耐心看完。 注意两点:下面代码的两个长注释

    #include <iostream>
    using namespace std;
    class StopMyDate {
    public:
    	string aaa;
    	string bbb;
    	string ccc;
    };
    
    void sss(void*  user_data)
    {
        // 注意该处:类似于 *((int*)user_data)   /***************注意1*************/
    	auto m_user_data = *((shared_ptr<StopMyDate>*)user_data);
    	string aa = m_user_data->aaa;
    	cout << "m_user_data->aaa : " << aa.c_str() << endl; //测试是否正确
    }
    
    int main()
    {
    	shared_ptr<StopMyDate>stopMyDate(new StopMyDate); // 定义一个共享指针,类型stopMyDate
    	// 给成员赋值
    	stopMyDate->aaa = "aaaaa";
    	stopMyDate->bbb = "bbbbb";
    	stopMyDate->ccc = "ccccc";
    	
        // 此处调用,需注意添加(void*)  /***************注意2*************/
    	sss((void *)&stopMyDate);
    	return 0;
    }
    //输出为:
    m_user_data->aaa : aaaaa
    
    
    2022-03-30 02:43:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
函数对象 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载