"Michael N. Moran" <[EMAIL PROTECTED]> writes:

| And what is the meaning of code that does this:
| 
| int foo(int& a)
| {
|      int*    b = &a;
| 
|      if(b ==0)
|      {
|          a();
|      }
|      else
|      {
|          b();
|      }

According to the standard, the compiler can assume that the test is
always false, therefore rewrite the if-else as an unconditional call to
b().  GCC already does some null-pointer check deleting.

-- Gaby

Reply via email to