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;
}
回答をいただければ幸いです。ありがとう。