SAX/C++: C++-specific design principles
Mark D. Anderson
mda at discerning.com
Tue Dec 7 00:08:11 GMT 1999
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.
--On Monday, December 06, 1999 6:00 PM -0500 mlepage at 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 at 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 at ic.ac.uk the following message;
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev