C ++在构造函数初始化列表中使用此指针

时间:2014-09-27 21:11:54

标签: c++ c++11 constructor this

在以下情况下,在构造函数初始化列表中使用this指针是否合法?我正在尝试使用类方法的任务启动一些后台线程。这是一个很好的方法,我能做得更好吗?它适用于clang(LLVM 3.5),但我担心未定义的行为。

class SomeClass  {
    public:
        SomeClass();

    private:
        std::thread syncThread;
        void syncTask();
};


SomeClass::SomeClass()
    :syncThread(&SomeClass::syncTask, this) { // is it legal? object is under construction
}

0 个答案:

没有答案