Path: utzoo!censor!dybbuk!yunexus!ists!helios.physics.utoronto.ca!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!usc!zaphod.mps.ohio-state.edu!rphroy!caen!uwm.edu!bionet!ames!vsi1!daver!tscs!tct!chip From: chip@tct.uucp (Chip Salzenberg) Newsgroups: comp.lang.c++ Subject: Re: Comparison functions for qsort() and bsearch() Keywords: Sun, C++ Message-ID: <27C95508.15D0@tct.uucp> Date: 25 Feb 91 18:18:48 GMT Article-I.D.: tct.27C95508.15D0 References: <70450@microsoft.UUCP> <27B94945.5977@tct.uucp> <70777@microsoft.UUCP> Organization: Teltronics/TCT, Sarasota, FL Lines: 22 According to jimad@microsoft.UUCP (Jim ADCOCK): >If C++ is implemented on top of "object-oriented" architectures, >it may well be that pointers to primitive types have a totally >different representation that pointers to "Object" types. This kind of distinction, while conceptually possible, would seem to rule out a user's writing "operator new" and "operator delete", since they generate or use pointers of type |void*| which subsequently will be or previously have been used as "Object" addresses. >A void* might then be considered roughly equivalent to a char* ... Exactly equivalent, if compatibility with C libraries matters. >...perhaps we can get away from the Un*x-like prejudice that the >*only* way one can implement an architecture is as a very long array >of bytes. Please note that I am a long-time user of the '286 in large model, and I am quite aware that a successful implementation of C or C++ does not require a "very long array of bytes." That issue, however, has almost zero relevance to the convertability of a |void*|.