Re: [Vala] not null 'this' in constructors




Is 'this' always null in constructors? The following code produces a
run-time error:

public class Foo
{
    Foo()
    {
        assert( this != null );
    }
}

Are you sure about this? Perhaps you should
provide a small program that triggers this error.

Is there a way to get the true value of this in the constructor? I guess,
probably not. As far as I understand references in vala are somewhat
similar to shared_ptr<> pointers in C++ and vala classes to
enable_shared_from_this<> C++ subclasses. If the reasons are also similar,
it would be sad.

Vala references are like C pointers -- raw,
unwrapped, direct and optimizer friendly (though
I notice that the vala compiler puts an
additional indirection for private variables,
incurring performance penalty in object construction
and subsequent accesses).

C++ shared_ptr is an ugly wart. Its only similarity
with Vala references is ref counting.

Do not let your experience with shared_ptr
discourage you from Vala.

Nice day
Nor Jaidi Tuah




PRIVILEGED/CONFIDENTIAL information may be contained in this message. If you are neither the addressee 
(intended recipient) nor an authorised recipient of the addressee, and have received this message in error, 
please destroy this message (including attachments) and notify the sender immediately. STRICT PROHIBITION: 
This message, whether in part or in whole, should not be reviewed, retained, copied, reused, disclosed, 
distributed or used for any purpose whatsoever. Such unauthorised use may be unlawful and may contain 
material protected by the Official Secrets Act (Cap 153) of the Laws of Brunei Darussalam. DISCLAIMER: 
We/This Department/The Government of Brunei Darussalam, accept[s] no responsibility for loss or damage 
arising from the use of this message in any manner whatsoever. Our messages are checked for viruses but we do 
not accept liability for any viruses which may be transmitted in or with this message.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]