"Thomas Tutone" <Thomas8675309@yahoo.com> wrote in message
news:1125970944.395706.165010@g44g2000cwa.googlegr oups.com...[color=blue]
>
> Jon Slaughter wrote:[color=green]
>> "Ian" <ian-news@hotmail.com> wrote in message[color=darkred]
>> > Note that a pointer to a member function is a different beast from a
>> > pointer to a static member.
>> >[/color]
>>
>> how so? I thought static functions were identical to global functions as
>> far as the internal representation was concerned?[/color]
>
> That's true.
>[color=green]
>> If there is only one
>> function, wether static or not, per class then what is the difference?[/color]
>
> I think Ian means that they involve two different kinds of _pointers_.
> Take a look at Section 33 of the FAQ to see the difference:
>
>
http://www.parashift.com/c++-faq-lit...o-members.html
>[/color]
You mean the
a.. Its type is "int (*)(char,float)" if an ordinary function
b.. Its type is "int (Fred::*)(char,float)" if a non-static member
function of class Fred
part?
Seems to me that this only addresses the resolution of the function but
internally they are the same? (just pointers) Its up to the compiler to
determine how those pointers function and there arguments to be placed on
the stack properly, etc...
I mean, as far as I can see its just saying that if I wanted to create a
pointer to a member function I have to use that syntax so the compiler will
"know" but in all actuality its still just a pointer function that the
resolution is just some "meta syntax" that exists in the language to make it
easier to program and keep things encapsulated(i.e. I could write everytin
in C that would produce the "exact" same code that doesn't use classes or
anything but the classes are really just a way to group data and code to
make programming easier but ultimately it pretty much represents the same
machine code in the long run?)?
[color=blue]
> Best regards,
>
> Tom
>[/color]
Jon