๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #873

Re: Kommandozeilenargumente bevor main()

#873
From: Ralf W. Stephan
Date: Sat, 25 Nov 1995 09:08
37 lines
1436 bytes
Boris Lohner writes:
> Hallo zusammen,
> ich will im Konstruktor eines globalen Objektes die Kommandozeilenargumente
> abfragen, weil diese das Verhalten des globalen Objektes beeinflussen
> sollen.
> Das Objekt erst in main(...) zu initialisieren ist unguenstig, da mehrere
> andere ebenfalls globale Objekte bereits vor main(...) Gebrauch von diesem
> bestimmten Objekt machen.
> Leider hab ich bis jetzt keine Loesung fuer dieses Problem gefunden.

Geht nicht, hab ich auch schon probiert.  Das Problem ist, daรŸ Du
auf die Reihenfolge der Konstruktion globaler Objekte keinen EinfluรŸ
hast.  Generell sind Globals sowieso schlechter Stil, denn wenn Du
irgendwann Exceptions einbauen willst, brauchst Du so eine Konstruktion:

int main (int argc, char** argv)
{
  for (;;)
  {
    try { if (the_real_main (argc,argv)) break; }
    catch (exception x)
    {
    ...
    }
  }
  return 0;
}

bool the_real_main (int argc, char** argv)
{
// Begin initialization
}


ralf
--
PGP: 1024/0xA713ECE9 2047/0xC8E605F5
Technical Details
Message-ID: <1995Nov25.090832.20009@ark.franken.de>
Path: arc1-ca.pugleaf.net!ark.franken.de!ralf
References: <ftn_2.2480.843.0_30b624ab_Boris.Lohner@camelot.de>

Show Full Headers
Complete Article Headers
Newsgroups: de.comp.lang.c++
Path: arc1-ca.pugleaf.net!ark.franken.de!ralf
From: ralf@ark.franken.de (Ralf W. Stephan)
Subject: Re: Kommandozeilenargumente bevor main()
Message-ID: <1995Nov25.090832.20009@ark.franken.de>
Organization: his desk writing an article
Date: Sat, 25 Nov 1995 09:08:32 GMT
References: <ftn_2.2480.843.0_30b624ab_Boris.Lohner@camelot.de>
X-Newsreader: TIN [version 1.2 PL2]