[LUGOS-PROG] STL in kazalci

Gregor Berginc gregor.berginc at gmail.com
Wed Jan 11 09:53:36 CET 2006


Pozdravljeni,

ceprav sem pricakoval, da bodo s hranjenjem kazalcev v STL
vsebovalnikih (e.g., std::vector) velike tezave, sem se odlocil, da
jih preizkusim. Kmalu so se zacele dogajati cudne stvari, dvojna
brisanja... Razumljivo, saj se delajo kopije kazalcev, ki pa kazejo na
iste lokacije.

Logicno vprasanje, ki se sedaj pojavlja je, kako resitev ubrati. Sam
sem prisel do dveh (s pomocjo googlanja):

1. Definiras template, npr., vector_owner in mu podas vektor, ki naj
ga pocisti, ko se owner unici.

2. Definiras template, npr., smart_pointer, ki vsebuje stevilo
referenc na objekt in objekt pobrise sele, ko stevilo pade na 0.

S prvo resitvijo resis bolj malo, saj razni algoritmi nad std::vector
se vedno ne delujejo. Druga resitev je s tega stalisca odlicna,
zaplete se samo v tem, da koda postane se nekoliko manj berljiva.

Ali obstaja se kak bolj transparenten nacin za resitev gornjega problema?

lp,
Gregor
--
Gregor Berginc, Ph.D. Student
University of Ljubljana, Faculty of CIS
Trzaska 25, SI-1001 Ljubljana, Slovenia
tel: +386 1 4776630, fax: +386 1 4264647
www: http://vicos.fri.uni-lj.si/gregor


More information about the lugos-prog mailing list