Yip*_*Yay 10 c++ boost forward-declaration
我花了一些时间来检查boost::库架构,并对以下事实感兴趣:
在库的某些部分中,使用的yyy_fwd.hpp想法很常见(参见boost/detail或boost/flyweight示例).
这些文件显然只包含一些基于模板的类的前向声明,据我所知,可以在编译时间方面受益.
有人可以指出它们在什么情况下有所帮助,我应该在设计自己的模板时使用相同的想法吗?
谢谢.
需要前向声明来减少编译时依赖性。例如,在实现 Pimpl idiom 时。
还有一种情况是,比如boost::pool*依赖于windows.hWindows平台。创建界面时,我不想强制类的用户使用我的界面包含系统标头。
*好吧,这是一个坏例子,因为boost/poolfwd.hpp仍然包含windows.h,但我希望他们能解决这个问题。我希望你能明白。