Boost logo

Boost Users :

Subject: Re: [Boost-users] shared_ptr as reference argument
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2009-03-20 17:18:59


Ovanes Markarian wrote:
> On Fri, Mar 20, 2009 at 5:00 PM, Steven Watanabe <watanabesj_at_[hidden]>wrote:
>> If you have a reference to const, the compiler cannot make
>> any assumptions about whether it is modified or not, because
>> of const_cast. Objects declared const are another matter,
>> because it is undefined behavior to modify them.
> Ok, I don't want to stick on this. In my initial post, I wrote that const
> provides a compiler an additional information which !!!might!!! be used
> usefully for optimization (!!!big doubt!!!). Emil writes that this info for
> sure is neglected, but I still don't think so.

It is theoretically possible for the compiler to use the const to optimize,
but to do so it would have to prove that the functions which
are called
a) do not use a non-const reference to the same object.
b) do not cast away the const.

(a) is independent of the presence or absence of const.
Determining (b) is not very different from determining
from scratch whether a variable is modified.

In Christ,
Steven Watanabe

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at