i don't want to use pointers because if i send an invalid pointer to one of my string objects it will most likely crash pd. therefore i use handles. the worst thing that can happen is that a wrong handle refers to the wrong string. i made tests with wrong handles and it is quite fail safe.
you could store the pointers in a list and test, if it's valid ... the problem with ints that are represented by floats ... you will have a point when (x+1 == x) returns true ... which might be a wonderful source for errors ...
cheers ... tim