在多线程领域中呼叫类成员在线程中的class成员函数,在多线程的领域中,遇到线程执行中类的成员函数的需要是常见的。但是,由于C类成员函数中隐藏的“此”参数。
vector
.print,null,null,null);
(tree_item ::*)(void*)'to“ void*(*)(*)(void*)’class C { void *print(void *) { cout 要克服这个障碍,您有两个选项:静态类方法
[静态类方法没有一个“此”参数,并且可以在没有类实例的情况下直接调用。这是您可以为Hello函数实现静态类方法的方法:vectorpthread_create(&t,null,&c :: hello,null);classes; pthread_t t1; classes.push_back(C()); classes.push_back(C()); exterly exply the function''然后可以使用此函数指针来创建线程。
pthread_create(&t1, NULL, &c[0].print, NULL);其中hello_helper的定义为:[&& && && &&华
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3