Re: Vectors of references
"Larry Brunelle" <lbrunelle@geotrace.com> schrieb im Newsbeitrag
news:44A3D743.8060507@geotrace.com...
Sorry to send by this path; news server not
locally established.
Scott Meyers suggested this venue as the
proper place for this query. Basically,
I don't see how to create a vector of
reference, but don't see a particular
reason in principle that it couldn't
be done.
Thanks!
Larry Brunelle
--
With code like this,
struct testStruct
{
int foobis;
};
this works fine:
testStruct& ref1 = ts;
testStruct& ref2 = ref1;
That is, I can copy a reference.
No. You are initializing ref2 to refer to whatever ref1 refers to; ts in
this example.
Howsomever, I can't put it into a vector
(which, of course, would involve making
a copy).
In fact, I can't even define a vector of
reference.
The following code
vector<testStruct& v1;
stimulates the compiler to emit errors like
these (only a lot more of them).
The first error should be that there is a '>' missing. Where should it be?
Before or after the '&'? If it is before '&', you define a reference to a
vector. If it should be behind '&' it is an error. Vectors (and all other
containers) can only contain objects, but references (and functions) are no
objects, so they cannot be stored in a container.
Changing the
contained type to const testStruct& changes
nothing, but of course I can create and use a
vector of pointer.
That's ok. Pointers are objects.
Is this my stupidity, and/or is it fodder
for a future Item?
No comment.
HTH
Heinz
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]