AMDG Ovanes Markarian wrote:
On Fri, Mar 20, 2009 at 5:00 PM, Steven Watanabe
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