initializer lists c
Ontdek alles over initialisatielijsten in C ++ met voorbeelden in detail.
C ++ gebruikt initialisatielijsten om de gegevensleden naar hun waarden te initialiseren.
Initializer-lijsten worden meestal gebruikt in specifieke situaties waarin het niet mogelijk is om de waarden in de constructorbody te initialiseren.
wat is de beste gratis firewall
Klik hier voor de gratis C ++ cursus.
Initializer-lijsten in C ++
De algemene syntaxis van de Initializer-lijst is:
Enkele van deze situaties waarin de initialisatielijsten worden gebruikt, worden hieronder vermeld:
# 1) Er is geen standaardconstructor voor de lidobjectklasse.
Als we een ander klasseobject hebben als het lid van de klasse en de klasse van dat object heeft geen standaardconstructor, dan initialiseren we dit gegevenslidobject met behulp van de initialisatielijst.
Dit wordt getoond in het volgende programma.
Uitgang:
Aannemer :: A; ik = 10
Aannemer :: B
In het bovenstaande programma is het object van klasse A een gegevenslid van klasse B. In klasse A hebben we een constructor met parameters, maar geen standaardconstructor. We moeten dus de initialisatie-lijst in klasse B gebruiken om een klasse A-object te maken.
# 2) C initialiseren onze gegevensleden.
Omdat const data-leden slechts één keer kunnen worden geïnitialiseerd, initialiseren we ze met behulp van de initialisatie-lijst.
We demonstreren dit aan de hand van het volgende voorbeeld.
Uitgang:
Waarde is 10
In het bovenstaande programma hebben we een const als een gegevenslid. Als we dit const-lid op een waarde moeten initialiseren, dan doen we dit met behulp van de initialisatie-lijst zoals weergegeven.
# 3) Voor het initialiseren van referentiegegevenstypen.
Net als constanten zijn verwijzingen onveranderlijk. Dus wanneer we de gegevensleden van het referentietype moeten initialiseren, gebruiken we initialisatielijsten.
In het volgende programma initialiseren we het referentiegegevenslid met behulp van de initialisatie-lijst.
Uitgang:
Waarde is 10
In dit programma hebben we een referentie als een gegevenslid en we initialiseren deze met behulp van de initialisatie-lijst.
# 4) Als de naam van het lid en de parameter dezelfde naam hebben.
beste software voor het downloaden van youtube-video's
Als lidnamen van een klasse moeten worden geïnitialiseerd met de parameters en deze parameters hebben dezelfde namen als ledennamen, gebruiken we de initialisatie-lijst. In onze vorige onderwerpen hebben we deze aanwijzer voor dezelfde situatie gebruikt. De tweede optie is de initialisatielijst.
We hebben het bovenstaande voorbeeld met deze aanwijzer aangepast om gebruik te maken van de initialisatielijst in het volgende programma.
Uitgang:
num = 100
ch = A
In dit programma geven we parameters door om de gegevensleden met dezelfde naam te initialiseren. In dit geval gebruiken we hiervoor de initialisatielijst.
# 5) Om de prestaties te verbeteren
Elke keer dat we de gegevensleden initialiseren in de hoofdtekst van de constructor, wordt een tijdelijk object gemaakt voor het gegevenslid terwijl waarden worden toegewezen. Zodra de toewijzing is voltooid, wordt dit tijdelijke object verwijderd. Dit is eigenlijk een overhead.
Als we daarentegen de initialisatie-lijst gebruiken, wordt een kopieerconstructor gebruikt voor het toewijzen van waarden. Dit verbetert de prestaties aanzienlijk.
Gevolgtrekking
In deze tutorial hebben we dus geleerd over de initialisatie-lijsten en veel situaties waarin we ze moeten gebruiken bij het programmeren in C ++.
Hoewel we de initialisatielijst niet hoeven te gebruiken als deze situaties niet aanwezig zijn, kunnen we ze altijd gebruiken om de prestaties van het programma te verbeteren.
In onze aanstaande tutorial zullen we vriendfuncties in C ++ in detail bespreken.
Zie hier om de volledige lijst met C ++ - zelfstudies te verkennen.