Sdílet prostřednictvím


Další důležité informace o spuštění

V jazyce C++ může tvorba a ničení objektů zahrnovat spouštění uživatelského kódu.Proto je zapotřebí porozumět, ke kterým inicializacím dochází před vstupem do funkce main a které destruktory jsou vyvolány po ukončení funkce main. (Podrobné informace o tvorbě a ničení objektů naleznete v tématech Konstruktory a Destruktory.)

K následujícím inicializacím dochází před vstupem do funkce main:

  • Výchozí inicializace statických dat na hodnotu nula.Všechna statická data bez explicitních inicializátorů jsou před spuštěním jakéhokoli jiného kódu nastaveny na hodnotu nula, včetně inicializací za běhu.Statické datové členy musí být explicitně definovány.

  • Inicializace globálních statických objektů v jednotce překladu.K té může dojít buď před vstupem do funkce main, nebo před prvním použitím libovolné funkce nebo objektu v jednotce překladu daného objektu.

Specifické pro Microsoft

V jazyce Microsoft C++ jsou globální statické objekty inicializovány před vstupem do funkce main.

Specificka produktu Microsoft END

Globální statické objekty jsou vzájemně závislé, v jiných jednotkách překladu však mohou zapříčinit nesprávné chování.

Viz také

Referenční dokumentace

Spuštění a ukončení (C++)