关于c++11的thread:自定义类中怎样使用thread 10

#include<iostream>#include<thread>usingnamespacestd;classtest{public:voidoutput(const... #include <iostream>
#include <thread>

using namespace std;

class test
{
public:
void output(const int a)
{
cout << a << endl;
}
void work(const int a)
{
thread th(output,a);
th.join();
}
};

int main()
{
test t;
t.work(10);
/******or
/thread th(t.work,10);
/th.join();
*******/
return 0;
}

写个程序试一下,想在自定义的类的函数中使用thread或者把自定义的类的函数作为thread的驱动函数,但是上面两种写法都不行。想问一下,怎样在自定义类中的函数使用thread?
/******or
/thread th(t.output,10);
/th.join();
*******/
注释里面应该是这样
展开
 我来答
zjfaok
2015-03-06 · TA获得超过6806个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1608万
展开全部

另一种是把 output 声明为静态成员函数

class test
{
public:
    static void output(const int a)
    {
        cout << a << endl;
    }
    void work(const int a)
    {
        thread th(output,a);
        th.join();
    }
};
帐号已注销
推荐于2018-04-07 · TA获得超过3954个赞
知道大有可为答主
回答量:1636
采纳率:77%
帮助的人:1234万
展开全部
thread th( &test::output, this, a);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式