小编Joh*_*ehw的帖子

为什么C ++ 17中的全局内联变量和静态内联成员需要防护?

从C ++ 17开始,可以使用inline关键字在标头中初始化全局变量和静态成员。虽然我了解了为什么需要保护函数中的静态变量(因为即使在多线程上下文中初始化也只应发生一次),但我不明白为什么也要保护这些新的内联变量(您可以在此处查看:https:// godbolt.org/z/YF8PeQ)。我认为无论如何,所有全局变量和静态成员的初始化都在程序执行的开始(甚至在之前main())进行,因此此时无需考虑多个线程。你能解释一下吗?

c++ inline c++17

20
推荐指数
1
解决办法
708
查看次数

标签 统计

c++ ×1

c++17 ×1

inline ×1