A c++ rendelkezik alapértelmezett inicializálással?

Tartalomjegyzék:

A c++ rendelkezik alapértelmezett inicializálással?
A c++ rendelkezik alapértelmezett inicializálással?

Videó: A c++ rendelkezik alapértelmezett inicializálással?

Videó: A c++ rendelkezik alapértelmezett inicializálással?
Videó: C++ Weekly - Ep 33 - Start Using Default Member Initializers 2024, November
Anonim

C mindig is nagyon specifikus volt az objektumok kezdeti értékeit illetően. Ha globális vagy statikus, akkor nullázva lesznek. Ha auto, akkor az érték határozatlan. Ez volt a helyzet a C89 előtti fordítóprogramokban, és így határozta meg a K&R és a DMR eredeti C jelentésében.

Van alapértelmezett inicializálás a C-ben?

Egyes programozási nyelvekkel ellentétben a C/C++ nem inicializálja automatikusan a legtöbb változót egy adott értékre (például nullára). Így amikor egy változóhoz memóriahelyet rendel a fordító, akkor ennek a változónak az alapértelmezett értéke az a (szemét) érték, amely történetesen már az adott memóriahelyen van!

Mi az alapértelmezett inicializálása egy tömbnek C-ben?

Például az egész tömbök inicializálása 0-val történik. A dupla és lebegő értékek 0.0-val inicializálódnak. Char tömbök esetén az alapértelmezett érték '\0'. Egy mutatótömb esetében az alapértelmezett érték nullptr.

Lehetséges a dinamikus inicializálás a C-ben?

Objektum dinamikus inicializálása C++-ban

Az objektum dinamikus inicializálása az objektumok futási időben történő inicializálására vonatkozik, azaz az objektum kezdeti értéke a folyamat során kerül megadásra. futási idő. Ez megvalósítható konstruktorok használatával és paraméterek átadásával a konstruktoroknak.

Mely változók inicializálódnak automatikusan C-ben?

Globális változók a deklaráció időpontjában automatikusan 0-ra inicializálódnak. A globális változókat általában a fő függvény elé írjuk. A 4. sorban a és b két int típusú globális változóként vannak deklarálva.