如果对象是静态的,C++ 会计算每次调用的 sizeof

C++ does sizeof calculate every call if object is static

假设我有一个对象的静态数组,其大小无法更改。

struct vector2 { //8 Bytes
    float x, y;
};

计算机是否在每次调用 sizeof 时计算大小,还是存储在某处?如果不是,它的性能是否与存储在某处的性能相同?

std::cout <<  sizeof(vector2) << std::endl;
std::cout <<  sizeof(vector2) << std::endl;

这和

一样快吗
Byte sizeOfVector2 = sizeof(vector2);
std::cout <<  sizeOfVector2 << std::endl;
std::cout <<  sizeOfVector2 << std::endl;

sizeof是在编译时计算的。

sizeof 运算符在编译时计算。