假设我有一堂课
struct X
{
static const X ZERO;
int value;
int square () const { return value * value; }
...
};
然后在一个TU中,我将其定义为
const X X::ZERO { 0 };
但是,其他TU对价值一无所知,因此据我所知无法基于此类知识进行优化,例如他们不能说
X::ZERO.square()
在编译时为0。是否可以以某种方式拥有一个静态字段,并且仍然出于优化目的而让所有TU都知道它的值? C ++ 11很好。
最佳答案
听起来好像您正在寻找“整个程序优化”。在Microsoft的编译器中,它的名称为“链接时间代码生成”。
关于c++ - 使所有TU都知道一个静态对象字段的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21341192/