Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!decwrl!infopiz!lupine!rfg From: rfg@NCD.COM (Ron Guilmette) Newsgroups: comp.lang.c++ Subject: Re: Smart pointers and stupid people (was: garbage collection...) Message-ID: <3945@lupine.NCD.COM> Date: 17 Feb 91 08:03:28 GMT References: <3779@lupine.NCD.COM> <70606@microsoft.UUCP> Distribution: comp Organization: Network Computing Devices, Inc., Mt. View, CA Lines: 33 In article <70606@microsoft.UUCP> jimad@microsoft.UUCP (Jim ADCOCK) writes: +In article <3779@lupine.NCD.COM> rfg@NCD.COM (Ron Guilmette) writes: + +|Remember, C++ objects don't move. + +Essentially, GC proposals for C++ fall into two camps: + +1) Those GC techniques that don't move C++ objects. + +2) Those GC techniques that do move C++ objects. Jim Adcock (and others) have shown an inability to grasp the meaning of a simple sentence written in plain english. Read my lips: C++ objects do not move. You can copy the contents of one C++ object to another C++ object, and you can then delete the first object, but C++ objects do not "move". Oh, you can make tricky use of pointers and maybe even memcpy() to make it *appear* that a C++ object has moved, but as far as the language itself is concerned, there is no such thing as a "move object" operation. The distinction may seem like a merely semantic one, but it becomes important when you start to discuss (in detail) issues relating to smart pointers and other such things. -- // Ron Guilmette - C++ Entomologist // Internet: rfg@ncd.com uucp: ...uunet!lupine!rfg // Motto: If it sticks, force it. If it breaks, it needed replacing anyway.