C++11 前向声明线程、互斥体、计时

标签 c++11 stl forward-declaration

我知道如果可能的话,我们应该更愿意在头文件中转发声明所有内容,但是 STL 呢?

我发现iostreamiosfwd

如果我想在我的类中声明一个互斥体怎么办,如下所示:

class MyClass
{

.....
private:
    std::mutex mMutex;
};    

我应该在类头中包含互斥体头吗? 或者有没有办法转发声明它,例如:

class std::mutex;
class MyClass{...};

同样适用于chronothread

对此的任何想法都表示赞赏。谢谢!

最佳答案

没有可移植的方法来转发声明 std::objects,除非指定(例如 <iosfwd> )。并且 mutex 没有转发 header , threadchrono .

关于C++11 前向声明线程、互斥体、计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27642604/

相关文章:

c++ - 为什么要使用无序容器? (C++)

c++ - 使用标准 :vector as low level buffer

C++ 棘手的继承类定义问题

C++ 编程 : Error when assigning the iterator to vector

c++ - 模板扣: porting to C++11

派生类的c++ vector 仅调用一次构造函数

c++ - 如果迭代器未因插入而失效,则使用 std::find 和 C::insert() 线程安全

c++ - 如何转发声明内部类?

c++ - 在 C++ 中声明 "forward declarations"时需要帮助

c++ - 我可以从基于 for 循环的范围内获取项目的索引吗?