Logo af.boatexistence.com

Het c++ verstekinisialisering?

INHOUDSOPGAWE:

Het c++ verstekinisialisering?
Het c++ verstekinisialisering?

Video: Het c++ verstekinisialisering?

Video: Het c++ verstekinisialisering?
Video: CppCon 2018: Nicolai Josuttis “The Nightmare of Initialization in C++” 2024, Mei
Anonim

C was nog altyd baie spesifiek oor die aanvanklike waardes van voorwerpe. As dit globaal of staties is, sal hulle nul wees. As outo, is die waarde onbepaald. Dit was die geval in pre-C89 samestellers en is so gespesifiseer deur K&R en in DMR se oorspronklike C-verslag.

Is daar verstek-inisialisering in C?

Anders as sommige programmeertale, initialiseer C/C++ nie die meeste veranderlikes outomaties na 'n gegewe waarde (soos nul) nie. Dus wanneer 'n veranderlike 'n geheue-ligging deur die samesteller toegeken word, is die verstekwaarde van daardie veranderlike watter (rommel) waarde ook al in daardie geheue-ligging is!

Wat is die verstek-inisialisering van 'n skikking in C?

Byvoorbeeld, die heelgetal skikkings word geïnisialiseer met 0. Dubbel- en dryfwaardes sal geïnisialiseer word met 0.0. Vir char skikkings is die verstekwaarde '\0'. Vir 'n verskeidenheid wysers is die verstekwaarde nullptr.

Is dinamiese inisialisering moontlik in C?

Dynamiese inisialisering van voorwerp in C++

Dynamiese inisialisering van voorwerp verwys na die inisiasie van die voorwerpe tydens 'n looptyd, dit wil sê, die aanvanklike waarde van 'n voorwerp word verskaf tydens hardloop tyd. Dit kan bereik word deur konstruktors te gebruik en deur parameters aan die konstruktors deur te gee.

Watter veranderlikes word outomaties in C geïnisialiseer?

Globale veranderlikes word outomaties geïnisialiseer na 0 ten tyde van die verklaring. Globale veranderlikes word gewoonlik voor hooffunksie geskryf. In reël 4 word a en b verklaar as twee globale veranderlikes van tipe int.