On 4/9/2013 12:52 AM, Manu wrote:
But that's meaningless though, because there's always the possibility that
something somewhere else may have a non-const reference to that thing.
Can you suggest a case where const could EVER be used in any sort of 
optimisation?

Sure:

   pure int bar(const int*);

   int foo(int* pt) {
       int t = *pt;   // (1)
       int x = bar(&t);
       return t +       // guaranteed to be same value as (1)
            x;
   }

But the main purpose of const is so that you can have a single function that can operate on both mutable and immutable references. Otherwise, you'd have to do the copy/pasta two-step and write two functions.

Reply via email to