我需要帮助理解以下内容:
FSDFSDFSDFSDF runThread
函数似乎与thread_ptr
一起使用。为什么在构造函数调用后需要赋值thread_ptr
?
}
};
class FGDD {
list<unique_ptr<AbstractAlgorithm>> algorithms;
atomic_size_t DGFG{0};
mutex print_lock;
template<typename... Ts>
void message(const Ts&... ts) {
lock_guard<mutex> lock(print_lock);
using swallow = int[];
(void)swallow{0, (void(cout << ts), 0)...};
cout << endl;
}
答案 0 :(得分:1)
关于这一行:
thread_ptr = make_unique<thread>(&Simulation::runThread, this);
正在构建一个thread
,其中runThread(this)
又称this->runThread()
,其中this
是Simulation
个实例。
Simulation::runThread()
似乎没有参数,但实际上它是一个成员函数,所以它有一个隐式的this
,好像它已被声明:
void runThread(Simulation* this)