C- kielessä osoittimet piti opetella heti ohjelmoinnin alussa, jos halusi tehdä minkäänlaisia järkeviä aliohjelmia. C++:ssa ongelmaa voidaan kiertää viitemuuttujien ( references) avulla. Mutta vaikka emme osoittimia ihan välttämättä parametrin välityksen takia enää tarvitsisikaan, opettelemme ne seuraavaksi. Käytännössä niitä kuitenkin tarvitaan, koska maailmassa on valtavasti valmista C- koodia, jonka hyödyntämiseksi osoittimia joutuu joka tapauksessa käyttämään. Lisäksi olio- ohjelmointi pääsee C++:ssa täysiin oikeuksiinsa vasta olio- osoittimien ja polymorfismin myötä. Ja kuten aiemmin todettiin, myös taulukoiden läpikäynnissä osoittimet ovat käteviä.
Edellä sanottiin, että &matka_mm on osoite muuttujaan matka_mm. Tätä voitaisiin kuvata seuraavasti:
Reaali- ja kokonaislukujen lisäksi voidaan määritellä myös muuttujia, jotka voivat saada osoite- arvoja. Tällaisia muuttujia nimitetään osoittimiksi (eng. pointer, vrt. sormet ja korttien lajittelu). Osoitearvon saava muuttuja siis osoittaa johonkin muistipaikkaan, eli muuttujaan. Muuttujiin voidaan sijoittaa arvoja paitsi suoraan, niin myös epäsuorasti osoittimien avulla.