Können Sie etwas in C ++ drucken, bevor Sie die Hauptfunktion aufrufen?

8

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.

    
user1231897 25.02.2012, 00:12
quelle

4 Antworten

9
%Vor%

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

    
Armen Tsirunyan 25.02.2012 00:15
quelle
8
%Vor%     
Kerrek SB 25.02.2012 00:21
quelle
0

Header-Datei

%Vor%

Implementierungsdatei:

%Vor%

Nun, Statiken (und nicht nur) werden vor dem Aufruf von main initialisiert.

BEARBEITEN

Ein anderer:

%Vor%     
Luchian Grigore 25.02.2012 00:18
quelle
0
%Vor%     
icyrock.com 25.02.2012 00:28
quelle

Tags und Links