Sign in to follow this  
noatom

c++ pointer to member array of int

Recommended Posts

noatom    927

No,i mean with the special syntax for pointer to member,like:

 

x d

x* z = &d;

int x::*mypointer = &x::arr;

 

the above would work if arr would be a simple int,not an array

Share this post


Link to post
Share on other sites
LordRhys    379
This is the hardest part of C++ to me and why I have had so much trouble with it. There are 3 answers to this question and all three show a different way, pointers can just be too confusing.

Share this post


Link to post
Share on other sites
Brother Bob    10344

Yes, pointers can be confusing. But there was only one answer to this question, not three. My first response, for example, was not the kind of pointer he was looking for and thus is not an answer. Member pointers are different from pointers. My second response is the only answer in this case if he wants a member pointer to an array of 10 integers.

Edited by Brother Bob

Share this post


Link to post
Share on other sites
King Mir    2490

Also, if the wrap around syntax of array types is confusing, you can use a typedef to define the pointer type in parts:

typedef int IntArray10[10];
IntArray10 x::*mypointer = &x::arr;

Share this post


Link to post
Share on other sites
noatom    927

@LordRhys,don't worry,I've seen a lot of code but I never actually enocuntered those pointers.I asked because I had an exercise about them.You can always make a simple pointer and point it at the array.

 

Even though you won't see many things used in c++,it's good to have an ideea about them,because you might encounter them once.

Share this post


Link to post
Share on other sites

I've used pointer to member functions but not pointer to member variables. It's pretty rare.

 

Basically it's just an offset and may be useful if you want to point to one of several arrays in an object... Still pretty much a borderline case though...

 

I'm not even sure if the syntax is any better than the (unsafe) C way of just calculating the offset. I supose it's safer but if I was doing anything like that it would be low level and wrapped in a class anyway...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this