如果对象是静态的,则C 确实会计算每个调用

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

本文关键字:计算 调用 对象 静态 如果      更新时间:2023-10-16

我有一个无法更改的对象的静态数组。

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运算符在编译时计算。