[webkit-dev] Do we have a style preference about const member functions?
Maciej Stachowiak
mjs at apple.com
Thu Jun 9 15:51:35 PDT 2011
On Jun 9, 2011, at 11:13 AM, Peter Kasting wrote:
> On Thu, Jun 9, 2011 at 2:49 AM, Maciej Stachowiak <mjs at apple.com> wrote:
> I'm not really convinced that casting away const from a return value is intrinsically safer than casting away const from "this".
>
> Allowing the caller to mutate the return value is fine because the caller had a non-const |this| to begin with. We're not making anything less const-safe.
In principle, the return value could have been retrieved from a container that the immediate callee only has a const reference to. So then casting away const on the return value would be a hazard. The compiler won't protect you from that mistake, just as it won't protect you from casting away const on 'this' and then calling a non-const method with a side effect. Maybe this is paranoid, but not much more paranoid than worrying about accessors suddenly sprouting observable side effects.
> Casting away const on |this|, OTOH, allows you to mutate objects even when you never had permission to begin with. Much different.
const is a hint, not "permission", since the caller can cast away const directly. Think of const as a practical tool to help document behaviors, not as an enforced security model.
> In any case, my intent is to proceed as Darin and I discussed.
Wounds good!
Regards,
Maciej
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20110609/c5e2cd8e/attachment-0001.html>
More information about the webkit-dev
mailing list