Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Adressen Toewijzen aan Pointers | Basisprincipes van Pointers
C++ Pointers en Referenties
Sectie 1. Hoofdstuk 2
single

single

bookAdressen Toewijzen aan Pointers

Veeg om het menu te tonen

Bij het werken met pointers is een correcte initialisatie belangrijk om ervoor te zorgen dat ze naar geldige geheugenlocaties verwijzen en onverwacht gedrag te voorkomen.

Address-of en dereference-operatoren

Om een waarde aan de pointer toe te wijzen, moet de address-of (&) operator worden gebruikt en om de waarde van het geheugenadres te benaderen, moet de dereference operator worden gebruikt.

  • &: de address-of operator, retourneert het geheugenadres van zijn operand;

  • *: de dereference-operator, retourneert de waarde die is opgeslagen op het geheugenadres.

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { int variable = 10; std::cout << &variable << std::endl; std::cout << *(&variable) << std::endl; }

Met de adres-van (&) operator kunnen we deze adressen aan pointers toewijzen, waardoor een directe koppeling ontstaat tussen de pointer en de geheugenlocatie waarnaar deze verwijst.

Taak

Veeg om te beginnen met coderen

In een banksysteem heeft elke klant een rekeningsaldo. Transacties zoals stortingen of opnames kunnen dit saldo wijzigen. Opnames mogen het saldo echter niet negatief maken. Schrijf een programma dat het rekeningsaldo bijwerkt en beheert met behulp van pointers.

Je implementeert een functie updateBalance die de transactie uitvoert door het saldo via een pointer aan te passen.

  1. Controleer binnen de functie updateBalance of de transactie een opname is die tot een negatief saldo zou leiden:
    • Als amount negatief is en *p_balance + amount < 0, is de transactie niet toegestaan.
    • Retourneer in dit geval false.
  2. Als de transactie is toegestaan, werk het saldo bij door amount op te tellen bij *p_balance via pointer-dereferencing.
  3. Retourneer true om aan te geven dat de transactie succesvol is uitgevoerd.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 2
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt