[webkit-dev] Using C++ constant local variables in WebKit
rniwa at webkit.org
Tue Nov 29 18:42:28 PST 2011
As I stated on the other thread, I'm against using const pointers. However,
I see benefits in using const local variables.
On Tue, Nov 29, 2011 at 6:19 PM, Darin Adler <darin at apple.com> wrote:
> I thought we were discussing local variables in general, not pointer-typed
> ones specifically.
> * Pros
> - Documents use of variable.
> I would say “documents the fact that the variable’s value is not changed”.
> I think it’s overstating things to say it “documents use”.
Well, we can always call some function with a pointer to it, and the callee
can const_cast it. Having said that, declaring it explicitly const makes it
clear that it's not intended to be used like that.
For example, when I was writing a patch for
https://bugs.webkit.org/show_bug.cgi?id=69267, I encountered a line:
It took me a while before I figured out that oldEnd is never modified and I
can do some optimizations here. Presumably I still have to manually look
for all lines of code that touches oldEnd even if oldEnd was const due to
const_cast. However, it would have at least signaled me the intent.
> - Prevents misuse of variable in a later patch (by a different author)
> through enforcement of const-ness.
> Prevents one specific type of misuse: Setting the variable to another
> value. And that may not be misuse despite the fact that the original author
> didn’t plan on changing it.
Right, but it tells us the intent of the author, and appears to be useful
even if the variable started with prefixes like "old", "original", and
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the webkit-dev