OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: SAX/C++: First interface draft

[ Lists Home | Date Index | Thread Index ]
  • From: James Clark <jjc@jclark.com>
  • To: Steinar Bang <sb@metis.no>
  • Date: Fri, 03 Dec 1999 19:30:57 +0700

Steinar Bang wrote:
> 
> >>>>> James Clark <jjc@jclark.com>:
> 
> > One interesting issue is whether to provide a virtual destructor.  I
> > think the safest solution is not to provide a virtual destructor but
> > instead to declare but not define a private operator delete.  This
> > makes it a compile time error to do:
> 
> >   DTDHandler *p;
> >   // ...
> >   delete p;
> 
> Hm... not defining a virtual destructor for a class with virtual
> functions gives me warnings in "gcc -Wall".  Will a private operator
> delete do anything about these warnings, I wonder...?

If not, gcc should be fixed, because there's no legitimate reason to
give a warning. I got this technique from

  http://www.develop.com/dbox/cxx/SmartPtr.htm#Obvious

I've also verified that this complies with the C++ standard (the
relevant clause is 12.5p4).  gcc 2.95.1 correctly gives a compile-error
if you try to delete such a class. Visual C++ 6 doesn't catch this at
compile, but you'll still get a link-time error.

The other possible technique is a protected virtual destructor with an
empty implementation.

James



xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo@ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS