References Are Nice Pointers

3

Click here to load reader

Transcript of References Are Nice Pointers

Page 1: References Are Nice Pointers

References are "Nice" Pointers

void moveBall(ball &b) { b.x += 5; } int main() { ball b; b.x = 10; b.y = 20; moveBall(b); return 0; }

struct ball { int x; int y; };

We previously saw pass-by-reference like this…

Page 2: References Are Nice Pointers

References are "Nice" Pointers

void moveBall(ball *b) { (*b).x += 5; } int main() { ball b; b.x = 10; b.y = 20; moveBall(&b); return 0; }

…but references are just nice ways of using

pointers.

struct ball { int x; int y; };

Page 3: References Are Nice Pointers

References are "Nice" Pointers

void moveBall(ball *b) { b->x += 5; } int main() { ball b; b.x = 10; b.y = 20; moveBall(&b); return 0; }

Instead of dereferencing with *, then getting a

member attribute with ., you can use ->

struct ball { int x; int y; };