C++ Academy · Les

const-variabelen en -parameters

Bescherm gegevens tegen wijzigingen

Les 1 van 413 stappen

const-variabelen en -parameters is een gratis C++ Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject C++ Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus C++ Academy bevat in totaal 4 lessen.

const-variabelen declareren

Een const-variabele kan na initialisatie niet worden gewijzigd. De compiler dwingt dit af en vangt onbedoelde schrijfbewerkingen op.

#include <iostream>

int main() {
    const int maxUsers = 100;
    // maxUsers = 200;   // ERROR
    std::cout << maxUsers << "\n";
}

const-functieparameters

Door een parameter die op waarde wordt doorgegeven als const te markeren, voorkom je dat de functiebody de lokale kopie wijzigt — een hulpmiddel voor documentatie en veiligheid.

#include <iostream>

int doubled(const int n) {
    // n = 0;   // ERROR
    return n * 2;
}

int main() { std::cout << doubled(21) << "\n"; }

const-referentieparameters

Door een parameter via const& door te geven, voorkom je het kopiëren van grote objecten en beloof je dat je ze niet wijzigt — de standaardmanier om tekenreeksen en containers door te geven.

#include <iostream>
#include <string>

void printLen(const std::string& s) {  // no copy, no change
    std::cout << s.size() << "\n";
}

int main() { printLen("hello"); }

Pointer naar const

const T* betekent dat je de waarde waarnaar deze pointer verwijst niet via deze pointer kunt wijzigen, hoewel je de pointer zelf wel naar een andere locatie kunt laten wijzen.

#include <iostream>

int main() {
    int a = 1, b = 2;
    const int* p = &a;
    // *p = 5;   // ERROR: value is const
    p = &b;      // OK: pointer can move
    std::cout << *p << "\n";
}

const-pointer

T* const is een constante pointer: je kunt hem niet naar een andere locatie laten wijzen, maar je mag wel de waarde wijzigen waarnaar hij verwijst.

#include <iostream>

int main() {
    int a = 1;
    int* const p = &a;
    *p = 9;      // OK: value changeable
    // p = nullptr;  // ERROR: pointer is const
    std::cout << *p << "\n";
}

Declaraties van rechts naar links lezen

Lees declaraties met const van rechts naar links: const int* const is een "const-pointer naar const int" — noch de waarde, noch de pointer kan veranderen.

Waarom const-correctheid?

Door overal waar dat van toepassing is const te gebruiken, documenteer je je bedoeling, voorkom je fouten en kan de compiler optimaliseren. Deze discipline heet const-correctheid.

const maakt aanroepen vanuit const mogelijk

Een functie die const& accepteert, kan zowel const- als niet-const-argumenten en tijdelijke waarden aannemen. Een niet-const-referentie kan niet aan een tijdelijke waarde worden gebonden.

const-lokale variabelen vergemakkelijken redeneren

Door lokale variabelen als const te declareren wanneer ze niet mogen veranderen, wordt code leesbaarder en voorkom je onbedoelde hertoewijzing.

#include <iostream>

int main() {
    const double rate = 0.2;
    const double total = 100 * (1 + rate);
    std::cout << total << "\n";
}

const op het hoogste niveau bij waarden

Bij parameters die op waarde worden doorgegeven heeft const op het hoogste niveau geen invloed op de aanroeper — het beperkt alleen de functiebody en wordt vaak weggelaten in declaraties.

Voeg vroeg const toe

Het is veel eenvoudiger om vanaf het begin const-correct te werken dan dit achteraf aan te passen. Maak er een gewoonte van om const standaard toe te passen op parameters, referenties en lokale variabelen.

Korte controle

Test je begrip van const.

Samenvatting

Je hebt geleerd const te gebruiken voor variabelen, parameters, referenties en pointers, en wat het verschil is tussen een pointer naar const en een const-pointer. const-correctheid documenteert je bedoeling, voorkomt fouten en maakt binding aan tijdelijke waarden en optimalisatie mogelijk.

Gratis beginnen

Leer C++ met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
51
Lessen
203

Veelgestelde vragen

Is de les “const-variabelen en -parameters” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad C++ Academy, waaronder “const-variabelen en -parameters”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus C++ Academy bevat in totaal 4 lessen.

Wat leer ik in “const-variabelen en -parameters”?

Bescherm gegevens tegen wijzigingen Je oefent met C++ Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met C++ Academy te beginnen?

Ervaring vooraf is niet nodig. C++ Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “const-variabelen en -parameters”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over C++ Academy?

Ja. Elke les over C++ Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. const-variabelen en -parameters
  2. const-memberfuncties
  3. constexpr en compile time
  4. consteval en constinit
← Terug naar C++ Academy