[RFC] Proper initialization of class members and variables
Thiago Macieira
thiago at kde.org
Sat Nov 19 11:59:46 GMT 2005
Christian Ehrlicher wrote:
>I get a lot of trouble because of unitialised variables when using msvc.
>This is because gcc seems to auto-initialize all vars with '0' but msvc
>does not (in debug it fills all with 0xcd).
>My question is if autoinitialization is a c++-standard (and msvc ignores
>it) or if this is a gcc feature.
>If this is a gcc feature, you should avoid it and initialize all
>variables before use because you never know how other compilers
>initialize the memory (and imho it's not a good coding style to not
>initialize variables before use).
Stack and heap POD variables are not auto-initialised to 0 or anything
else.
To rely on them being so is an error and they must be flushed out.
The difference here is the memory allocator. Apparently, operator new on
Linux returns newly-allocated pages from the OS more frequently (those
are initialised to 0 by the OS).
I find it difficult to believe Windows would give one program's page to
another without zeroing it out first.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
4. And æfter se scieppend ingelogode, he wrát "cenn", ac eala! se
rihtendgesamnung andswarode "cenn: ne wát hú cennan 'eall'. Ástynt."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20051119/b5fd7bd7/attachment.sig>
More information about the kde-core-devel
mailing list