GeeksforGeeks

int const *

int const * is pointer naar constant integer
dit betekent dat de gedeclareerde variabele een pointer is, wijzend naar een constant integer. Dit houdt in dat de pointer wijst naar een waarde die niet veranderd moet worden. Const qualifier heeft geen invloed op de pointer in dit scenario, zodat de pointer mag verwijzen naar een ander adres.
het eerste const-sleutelwoord kan aan beide kanten van het gegevenstype gaan, vandaar dat int const* gelijk is aan const int*.

int * const

int * const is een constante pointer naar het gehele getal

dit betekent dat de gedeclareerde variabele een constante pointer is die naar een geheel getal wijst. Dit houdt in dat de aanwijzer niet naar een ander adres MOET wijzen. Const qualifier heeft geen invloed op de waarde van integer in dit scenario, dus de waarde die wordt opgeslagen in het adres is toegestaan om te veranderen.

const int * const

const int * const is een constante pointer naar een constant geheel getal

dit betekent dat de gedeclareerde variabele een constante pointer is die naar een constant geheel getal wijst. In feite betekent dit dat een constante pointer naar een constante waarde wijst. Daarom mag noch de aanwijzer naar een nieuw adres wijzen, noch de waarde waarnaar wordt verwezen, worden gewijzigd.
het eerste const-sleutelwoord kan aan beide kanten van het gegevenstype gaan, vandaar dat const int* const gelijk is aan int const* const.

Geheugenkaart

een manier om de syntaxis te onthouden (volgens Bjarne Stroustrup) is de spiraal regel-
de regel zegt, start met de naam van de variabele en ga met de klok mee naar de volgende aanwijzer of type. Herhaal tot de expressie eindigt.

de regel kan ook worden gezien als het decoderen van de syntaxis van rechts naar links.

vandaar,

  • int const* is pointer to const int
  • int *const is const pointer to int
  • int const * const is const pointer to const int

met behulp van deze regel kunnen zelfs complexe declaraties worden gedecodeerd zoals,

  • int * * const is een const pointer naar pointer naar een int.
  • int * const * is een pointer naar const pointer naar een int.
  • int const * * is een pointer naar een pointer naar een const int.
  • int * const * const is een const-pointer naar een const-pointer naar een int.

Attentie lezer! Stop nu niet met leren. Haal alle belangrijke C++ Foundation en STL concepten in handen met de C++ Foundation en STL cursussen tegen een student-vriendelijke prijs en word klaar voor de industrie.

Article Tags:

C

Practice Tags:

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.