Tricky UndefinedHandleAddress

Forums: 

Our fundamental Handle_Standard_Transient.hxx file declares invalid address of handled OCCT entities as 0xfefd0000 on x32 and 0xfefdfefdfefd0000 on x64. This peculiarity has been discussed long time ago here: http://opencascade.blogspot.com/2008/11/open-cascade-handles-lets-handle...

The main question is why not to use just NULL instead? There was also a proposition to change this address to 0x01 to make things simpler while keeping it invalid on all supported platforms.

Can anybody give a hint about the nature of UndefinedHandleAddress? Why is it so?

Andrey BETENEV's picture

Just to close the question: in OCCT 6.8.0, UndefinedHandleAddress will be 0; see #24533