11
main()は本当にC ++プログラムの始まりですか?
C ++標準のセクション$ 3.6.1 / 1は、 プログラムには、プログラムの指定された開始点であるmainと呼ばれるグローバル関数が含まれます。 今、このコードを考えて、 int square(int i) { return i*i; } int user_main() { for ( int i = 0 ; i < 10 ; ++i ) std::cout << square(i) << endl; return 0; } int main_ret= user_main(); int main() { return main_ret; } このサンプルコードは、私が意図することを実行します。つまり、プログラムの「開始」であるはずの関数に入る前に、0から9の整数の2乗を出力しますmain()。 また-pedantic、GCC 4.5.0オプションでコンパイルしました。エラーも警告もありません! …