$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: David Abrahams (dave_at_[hidden])
Date: 2007-08-26 10:14:23
on Sat Aug 25 2007, Howard Hinnant <howard.hinnant-AT-gmail.com> wrote:
> The main philosophical difference between us is that I want to be able  
> to choose "check", and be assured that I'm actually getting checking.   
> And then I want to be able to choose "don't check".  And then not have  
> to pay for it.  I want both choices.
I think everyone honors your desire to have these choices.  I'm just
not sure it's the /standard's/ job to give them to you.
1. Aside from vector<T>::at (which IMO was a mistake), there is no
   precedent for this in the standard.  We don't know that such a
   choice will serve people well.
2. As Peter already pointed out, if we mandate a check in the
   standard, the result of a failed check must be an exception (or the
   behavior of a failed assert, which I think is to abort).  Neither
   of these behaviors is -- in and of itself -- useful in debugging
   (at best, you rely on your vendor to make it useful).
3. I'll say again: turning a logic error into an exception is a bad
   idea (http://tinyurl.com/2ph58t) and we have no programming model
   for handling it.
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com The Astoria Seminar ==> http://www.astoriaseminar.com