( BaT | 2013. 03. 26., k – 12:55 )

Ha már előkerült a téma, lenne egy hasonló kérdésem: C++-ban ha már cím szerint akarunk átadni, akkor referencia vagy pointer?

Referencia előnye, hogy közvetlenül át lehet neki adni objektumot, tetszőleges cím átadásához trükközni kell (bár nem lehetetlen), a metóduson belül nem kell dereferencia ha pl. overloaded operátort kell meghívni. Ezen kívül sok helyen úgysem lehet megúszni a referenciát (pl. copy konstruktor), így egységesebb lesz az api.
Ugyanakkor a pointer használata sem úszható meg, pl. STL containerekbe nem lehet referenciákat rakni. Továbbá ha a paraméter opcionális, könnyebb egy NULL-t átadni vagy beállítani default értéknek. Mivel szintaktikailag is máshogy kell kezelni, ezért egyértelmű, hogy nem egy másolatot kapunk az objektumról (azaz ha a másolatára van szükségünk, nem fogjuk elfelejteni lemásolni).