inner member classes in final outer class
Bruno Medeiros
brunodomedeiros+spam at com.gmail
Mon Sep 17 06:16:44 PDT 2007
Regan Heath wrote:
> Bruno Medeiros wrote:
>> Regan Heath wrote:
>>> Bruno Medeiros wrote:
>>>> Regan Heath wrote:
>>>>>
>>>>> Well, that's where you're confused (by my badly constructed post).
>>>>>
>>>>> I was describing the OP's problem case, the current D behaviour
>>>>> (unless I'm mistaken) which is for every instance of the inner
>>>>> class to have a context pointer.
>>>>>
>>>>> The example above using static was my suggested solution, of sorts.
>>>>>
>>>>> Regan
>>>>
>>>> Ok, I know you were talking first about current D behavior, but I
>>>> was talking about your suggested solution. You do understand why
>>>> that solution wouldn't work as you expected?
>>>
>>> Nope.
>>>
>>> Are you referring to your comment:
>>> "Removing the context pointer would imply having different,
>>> incompatible versions of the Inner class, and since that alters
>>> program semantics the compiler cannot do that"
>>>
>>> ?
>>>
>>> Regan
>>
>> No, I mean making the context pointer static.
>
> Please explain why it wont work (as I expect - assuming you're not
> confused about what I expect too <g>)?
>
> Regan
Damn it, I already did! :P
You said you wanted to "have only X outer references, instead of X*Y
outer references", right? And like I said, if you (or the compiler) made
the context pointer static (as in 'static' storage class in a var
declaration), you would have only 1 outer reference (not X), since
static would make that "variable" unique.
--
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
More information about the Digitalmars-d
mailing list