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++: C++-specific design principles

[ Lists Home | Date Index | Thread Index ]
  • From: "Mark D. Anderson" <mda@discerning.com>
  • To: mlepage@antimeta.com, xml-dev@ic.ac.uk
  • Date: Mon, 06 Dec 1999 16:01:47 -0800

I'm familiar with the solutions; it is just that i'd rather not have to
trust that every other C++ programmer has memorized Meyer.
Nor would I want to impose smart pointers, which are imho right up there
with vector and string classes in ways-to-learn-to-hate-c++.

if in fact SAX decides to support C++ exceptions rather than an error
handler, it would probably help to just give some examples that 
clarify correct usage of the exception classes, for the non-cognoscenti.

-mda

--On Monday, December 06, 1999 6:00 PM -0500 mlepage@antimeta.com wrote:

> On Mon, Dec 06, 1999 at 02:14:38PM -0800, Mark D. Anderson wrote:
>> 
>> >> - use C++ exceptions
>> > 
>> > I vote for C++ exceptions. That is why they are there.
>> 
>> Someone should dictate whether the exception objects are raised,
>> or pointers to them. Regardless, it is impossible for mere mortals
>> to use them without having leaks when they occur below constructors
>> and destructors. But I guess anyone using C/C++ already knows they
>> are taking such risks.
>> 
>> Don't get me wrong; i like exceptions in programming languages that
>> support them well.
> 
> In C++, you throw exceptions by value and catch them by reference (see Meyers for details). So the exceptions themselves don't leak.
> 
> Since fully constructed objects are destructed during stack unwinding, there are no leaks there.
> 
> If you are doing things using pointers, etc., where allocated resources are not automatically freed (i.e. the pointer is freed but not the pointee), then yes you risk memory leaks. However, you should be using auto_ptr and other helpers to avoid that problem. This technique is discussed at length in Stroustrup and Meyers. So assuming you are using the helpers made available for you, properly, there are no memory leaks there.
> 
> Sutter's new book Exceptional C++ is just out, and details even more regarding exception safety, I presume.


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