正如标题所暗示的那样,我想知道除了减少重建时间之外,还有其他原因,目的或用途,而不是减少重建时间。
从here引用示例:
(线程本地人需要在pimpl墙后面;他们 无法直接导出
我不明白用户意味着什么,但我认为其他有趣的用于PImpl习语,
答案 0 :(得分:4)
从书" Effective C ++ Third Edition "作者:Scott Meyers(议题31)
" 这种分离的关键是替换定义的依赖关系 依赖于声明。这是最小化的本质 编译依赖关系:随时使您的头文件自给自足 它是实用的,当它不是时,取决于其他的声明 文件,而不是定义。"
例如,在这种情况下,将线程局部变量移动到定义文件有一个较少的编译依赖项,因为thread_local.hpp未包含在声明文件中。