Нет, нет. Лучше спросить "зачем тебе это?" В Java или C # основная функция является статическим членом класса не потому, что он лучше или чище, а потому, что язык не допускает функции, не являющиеся членами В C ++ они разрешены и даже поощряются во многих случаях.
Имеет больше смысла, чтобы основная функция, точка входа в вашу программу, находилась «снаружи». Он запускается в по существу пустой среде, а затем настраивает все, что необходимо настроить, прежде чем вызывать реальную логику приложения.