gpt4 book ai didi

c++ - 使用类成员函数初始化 std::barrier

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

如何使用类成员函数初始化 std::barrier

class CMyClass {
private:
void func() {
}

public:
void start() {
}
}

void CMyClass::start() {
std::barrier<??> barrier(threads_count, &func()); // ??
}

最佳答案

barrier 的完成函数必须可以使用零参数调用,这意味着您不能只将指针传递给非静态成员函数(这样的函数仍然需要一个参数:类实例)。相反,您必须提供 lambda:

std::barrier barrier(threads_count, [this]{ func(); });

类模板参数推导 (CTAD) 会根据 lambda 的类型推导类模板参数,因此您不必担心它。

关于c++ - 使用类成员函数初始化 std::barrier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66644371/

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