Können Sie etwas in C ++ ausdrucken, bevor Sie die Hauptfunktion aufrufen?
Es ist Interviewfrage in Bloomberg:
Antwort : Erstelle eine globale Variable, die einen Wert aus der printf-Anweisung mit etwas Inhalt vergibt.
Dieses wohlgeformte C ++ Programm druckt
Hallo vor main ()
Sie sehen, der C ++ - Standard garantiert, dass die Konstruktoren von Namespace-Scope-Variablen (in diesem Beispiel ist es x
) vor main()
ausgeführt werden. Wenn Sie also etwas in einem Konstruktor eines solchen Objekts drucken, wird es vor main()
gedruckt. QED
Header-Datei
%Vor%Implementierungsdatei:
%Vor% Nun, Statiken (und nicht nur) werden vor dem Aufruf von main
initialisiert.
BEARBEITEN
Ein anderer:
%Vor%Tags und Links c++