我找不到有关 sizeof 行为的信息(至少在 gcc 4.6+ 中)。以下代码有效并产生“预期”结果(4、1、8),但我想知道为什么。我检查了几个问题,但没有一个显示像这样的例子。
#include<iostream>
int f1(int) {
return 0;
}
char f2(char) {
return 0;
}
double f3() {
return 0;
}
int main() {
std::cout << sizeof(f1(0)) << std::endl;
std::cout << sizeof(f2('0')) << std::endl;
std::cout << sizeof(f3()) << std::endl;
return 0;
}
一个答案将不胜感激。谢谢。