Is it possible to set this on null?
Koroskin Denis
2korden at gmail.com
Wed Aug 6 11:11:13 PDT 2008
On Wed, 06 Aug 2008 22:05:48 +0400, BCS <ao at pathlink.com> wrote:
> Reply to Zarathustra,
>
>> class CFoo{
>> public void destroy(){ delete this; } // ok
>> public void forget(){ this = null; } // ok but no effect
>> }
In fact, this should be disallowed (and it is in c++).
>
> that doesn't work because this is a hidden arg to the function, you can
> change its value but as with any other local value that doesn't effect
> the value used to call the function.
>
>> void
>> main(){
>> auto l_fooA = new CFoo;
>> auto l_fooB = l_fooA;
>> l_fooA.forget; // no effect
>> l_fooA = null; // now ok
>> l_fooB.destroy; // ok }
>>
>
More information about the Digitalmars-d-learn
mailing list