Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!sdd.hp.com!spool.mu.edu!cs.umn.edu!kksys!edgar!mmug.edgar!UUCP From: Jim.Spencer@p510.f22.n282.z1.mn.org (Jim Spencer) Newsgroups: comp.lang.c++ Subject: Re: fragmentation of free store Message-ID: <671068804.8@mmug.edgar.mn.org> Date: 6 Apr 91 07:08:31 GMT Sender: UUCP@p0.f22.n282.z1.mn.org Lines: 15 Larry Smith writes in a message to All LS> There are lots of other things you can do with this type of scheme, LS> but I won't go into them now. Sadly, few compilers use this mechanism LS> to implement pointers. C, C++, Pascal, etc all implement pointers LS> as bare addresses. Of course, you can implement the above scheme LS> yourself in C, etc, but then you'll have to dereference twice LS> whereever the pointer is used. This is why you'll always see LS> things like "WindowRecord^^.HorizSize" in Macintosh Pascal code LS> - the Mac's menu manager does this, but the compiler is unaware LS> of it. Result: ugly code. This isn't completely true. Object Pascal as it has been implemented on the Mac returns handles to objects. The methods for these objects can be called without dereferencing the handle. MPW C++ similarly has, in order to be able to use MacApp, a handle based object.