gpt4 book ai didi

multithreading - 为什么在成员函数上调用std::thread时需要 'this'?

转载 作者:行者123 更新时间:2023-12-03 13:19:42 25 4
gpt4 key购买 nike

从成员函数的类中调用std::thread时,我必须传递“this”作为我的第一个参数。

如果不这样做,那么在编译时我会遇到很多错误。

为什么需要“这个”?

threads[i] = std::thread(&ClName::thread_exec, this);

上面是相关代码的片段。

最佳答案

每个成员函数都有一个隐藏参数this,它指向实际对象。二进制文件中只有一个方法代码,它与对象无关(但与类无关)。您必须告诉他们他们必须处理哪个对象。

关于multithreading - 为什么在成员函数上调用std::thread时需要 'this'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27364093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com