Рассмотрим следующую программу:
#include <iostream>
int main = ( std::cout << "C++ is excellent!\n", 195 );
Используя g++ 4.8.1 (mingw64) в ОС Windows 7, программа компилируется и работает нормально, печать:
С++ отлично!
на консоль. main
представляется глобальной переменной, а не функцией; как эта программа может выполняться без функции main()
? Соответствует ли этот код стандарту С++? Хорошо ли определено поведение программы? Я также использовал параметр -pedantic-errors
, но программа все еще компилируется и запускается.