示例:
std::thread t1(function(8, 9));
这对我不起作用。也许有办法做到这一点。提前谢谢。
答案 0 :(得分:5)
std::thread t1 (function (8, 9));
在上面的代码段中,我们会使用t1
的返回值初始化function(8,9)
,正如您所说,它不是您想要的。
相反,您可以使用定义的constructor of std::thread
将可调用对象作为其第一个参数,而不是在调用它时应该传递给它的参数。
std::thread t1 (function, 8, 9);
见这个简单的例子:
#include <iostream>
#include <thread>
void func (int a, float b) {
std::cout << "a: " << a << "\n";
std::cout << "b: " << b << "\n";
}
int main () {
std::thread t1 (func, 123, 3.14f);
t1.join ();
}
a: 123
b: 3.14