On Tuesday, November 30, 2010 09:10:03 Sean Kelly wrote: > Steven Schveighoffer Wrote: > > On Tue, 30 Nov 2010 10:06:40 -0500, Don <nos...@nospam.com> wrote: > > > What are the use cases for logical const? Are there any other important > > > ones, apart from caching? > > > > Being able to associate data with an object/struct without owning the > > data. Deep in this thread I give an example of having a widget who knows > > its location and knows how to draw itself in that location. Such a > > function cannot be marked const even though no widget data is changed, > > since the draw function is not const. But the Widget doesn't own the > > location, it's just referencing it. > > Hm... can a const object mutate globals?
Yes. All it means for a const function to be const is that its this pointer/reference is const. If you don't want it to mess with globals, you need to make it pure. - Jonathan M Davis