我正在阅读有关 c++11 多线程的文档,并在std::thread
.
代码:
void thread_task(int n) {
...
}
int main(int argc, const char *argv[])
{
std::thread threads[5];
for (int i = 0; i < 5; i++) {
threads[i] = std::thread(thread_task, i + 1);
}
return 0;
}
我不明白threads[i] = std::thread(thread_task, i + 1);
。是std::thread
静态函数调用,并返回 std::thread 对象的引用吗?听起来不可思议,但似乎是代码所说的。
因为我会这样写:
std::thread *threads[5];
for (int i = 0; i < 5; i++) {
threads[i] = new std::thread(thread_task, i + 1);
}
谢谢。