sizeof里面的函数调用没有调用它?C++
考虑这段代码,我试图打印函数的 sizeof 返回值:
int f(int);
int main()
{
std::cout << sizeof(f(2)) << std::endl;
}
这令人惊讶(至少对我而言)打印 4。
但这是否应该给我一个链接错误,因为该函数未定义?
未调用 sizoef 中的函数吗?sizeof 中的表达式是否有更广泛的规则?
回答
是的,根据cppreference:
更多关于未计算的表达式在这里
考虑这段代码,我试图打印函数的 sizeof 返回值:
int f(int);
int main()
{
std::cout << sizeof(f(2)) << std::endl;
}
这令人惊讶(至少对我而言)打印 4。
但这是否应该给我一个链接错误,因为该函数未定义?
未调用 sizoef 中的函数吗?sizeof 中的表达式是否有更广泛的规则?
是的,根据cppreference:
更多关于未计算的表达式在这里