Daniel Frey <[EMAIL PROTECTED]> writes:

> On Sun, 26 Jan 2003 18:50:13 +0100, David Abrahams wrote:
>
>> Hum.  It's fine to make Peter's particular example defined, but I'm a
>> little concerned about asking to lift *all* undefined behavior for
>
> Maybe I'm missing something, but what about a pointer to some type T and
> this:
>
> if( p ) p->f();
>
> If p is 0, p->f(); is undefined, isn't it? But just because the
> expression may be undefined (given some conditions or not) cannot make
> the whole program undefined if the expression is not executed, right?
> Otherwise the language would be completly useless...

Yes, but normally there's no way to detect that p will be 0 at
compile-time.  If, however, you write:

  T* p = 0;
  if (p) p->f();

I think undefined behavior is allowed to be manifested during
translation.

-- 
                       David Abrahams
   [EMAIL PROTECTED] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to