当不引用标头中的c ++ 17内联变量时,它们会被优化

时间:2019-11-23 14:24:32

标签: c++ optimization c++17 inline

在c ++ 17之前的版本中,如果我想在执行达到main()之前进行初始化,则在编译单元(.cpp文件)中使用了static global,并从需要此初始化的类中使用它,因此如果这些类不是链接器不会优化静态初始化,因为它看不到它们的引用。

现在,在c ++ 17附带内联变量之后,我可以将许多小的init和全局变量移至标头,并且一切正常,直到我创建了一个小的线程池来处理从异步io函数引用的异步io操作。

因此,如果库的用户不使用任何异步io,线程池将被优化,还是仍将运行并启动其线程?

0 个答案:

没有答案