Logo cs.boatexistence.com

Má c++ výchozí inicializaci?

Obsah:

Má c++ výchozí inicializaci?
Má c++ výchozí inicializaci?

Video: Má c++ výchozí inicializaci?

Video: Má c++ výchozí inicializaci?
Video: Member Initializer Lists in C++ (Constructor Initializer List) 2024, Smět
Anonim

C bylo vždy velmi specifické, pokud jde o počáteční hodnoty objektů. Pokud jsou globální nebo statické, budou vynulovány. Pokud je auto, hodnota je neurčitá. Tak tomu bylo u kompilátorů před C89 a bylo to specifikováno společností K&R a v původní zprávě C společnosti DMR.

Existuje výchozí inicializace v C?

Na rozdíl od některých programovacích jazyků C/C++ neinicializuje většinu proměnných na danou hodnotu (například nulu) automaticky. Když tedy proměnná přiřadí paměťové místo kompilátorem, výchozí hodnota této proměnné je jakákoli (nezbytečná) hodnota, která se již v tomto paměťovém místě nachází!

Jaká je výchozí inicializace pole v C?

Například celočíselná pole jsou inicializována 0. Hodnoty Double a float budou inicializovány na 0,0. Pro pole znaků je výchozí hodnota '\0'. Pro pole ukazatelů je výchozí hodnota nullptr.

Je dynamická inicializace možná v C?

Dynamická inicializace objektu v C++

Dynamická inicializace objektu se vztahuje k inicializaci objektů za běhu tj. počáteční hodnota objektu je poskytnuta během doba běhu. Toho lze dosáhnout pomocí konstruktorů a předáním parametrů konstruktorům.

Které proměnné se automaticky inicializují v C?

Globální proměnné jsou automaticky inicializovány na 0 v době deklarace. Globální proměnné se obecně zapisují před hlavní funkcí. Na řádku 4 jsou aab deklarovány jako dvě globální proměnné typu int.